260{
269 mpz_t gmp1;
270 mpz_init(gmp1);
271 for (
int i = 0; i <
ntrials; i++)
272 {
273 gen.nextElement(a);
274
275
278
283 R.
power(d, a, e1 + e2);
286
287
288 mpz_set_si(gmp1, e1);
291 }
292 mpz_clear(gmp1);
297}
bool almostEqual(const M2::ARingRR &R, unsigned long nbits, const M2::ARingRR::ElementType &a, const M2::ARingRR::ElementType &b)
void init(ElementType &result) const
void mult(ElementType &result, const ElementType &a, const ElementType &b) const
static void clear(ElementType &result)
unsigned long get_precision() const
void power(ElementType &result, const ElementType &a, int n) const
void power_mpz(ElementType &result, const ElementType &a, mpz_srcptr n) const
bool is_equal(const ElementType &f, const ElementType &g) const
aring-style adapter for double-precision real numbers.
int32_t rawRandomInt(int32_t max)