Macaulay2 Engine
Loading...
Searching...
No Matches

◆ TEST() [4/7]

TEST ( ARingCCC ,
multDivide  )

Definition at line 163 of file ARingCCCTest.cpp.

164{
165 M2::ARingCCC C(100);
167 M2::ARingCCC::ElementType a, b, c, d;
168 C.init(a);
169 C.init(b);
170 C.init(c);
171 C.init(d);
172 for (int i = 0; i < ntrials; i++)
173 {
174 // test: (a*b) // b == a
175 gen.nextElement(a);
176 gen.nextElement(b);
177 C.mult(c, a, b);
178 if (C.is_zero(b))
179 EXPECT_TRUE(C.is_zero(c));
180 else
181 {
182 C.divide(d, c, b);
183 EXPECT_TRUE(almostEqual(C, 94, d, a));
184 }
185 }
186 C.clear(d);
187 C.clear(c);
188 C.clear(b);
189 C.clear(a);
190}
bool almostEqual(const M2::ARingCCC &C, int nbits, const M2::ARingCCC::ElementType &a, const M2::ARingCCC::ElementType &b)
const int ntrials
Definition ARingTest.hpp:42
aring-style adapter for arbitrary-precision complex numbers, stored as (MPFR, MPFR) pairs.
Definition aring-CCC.hpp:71

References almostEqual(), M2::ARingCCC::clear(), M2::ARingCCC::divide(), M2::ARingCCC::init(), M2::ARingCCC::is_zero(), M2::ARingCCC::mult(), ARingElementGenerator< RingType >::nextElement(), and ntrials.