43 if (index < 50)
return R.
from_long(index - 25);
48 mpz_set_str(
maxH,
"100000000000", 10);
78 mpz_set_str(
maxH,
"100000000000", 10);
79 for (
int i = 0; i <= 10; i++)
88 mpz_set_str(b, o.
str(), 10);
90 EXPECT_TRUE(
globalZZ->is_equal(a, c));
99 long minint = std::numeric_limits<int>::min();
100 long maxint = std::numeric_limits<int>::max();
102 while (i < maxint + 5)
110 if (i >= minint and i <= maxint)
112 EXPECT_TRUE(b.first);
113 EXPECT_EQ(b.second, i);
117 EXPECT_FALSE(b.first);
149 for (
int i = 0; i <
ntrials; i++)
159 EXPECT_TRUE(
globalZZ->is_positive(c));
182 bool ret1 =
globalZZ->lower_associate_divisor(e, a);
183 o <<
"ret1=" << (ret1 ?
"true" :
"false") <<
" e=";
186 bool ret2 =
globalZZ->lower_associate_divisor(e, b);
187 o <<
"ret2=" << (ret2 ?
"true" :
"false") <<
" e=";
190 std::cout << o.
str();
std::string ringName(const T &R)
static bool maxH_initialized
void testRingPower(const T *R, int ntrials)
void testRingDivide(const T *R, int ntrials)
void testRingSyzygy(const T *R, int ntrials)
void testRingGCD(const T *R, int ntrials)
void testRingAxioms(const T *R, int ntrials)
void testRingRemainder(const T *R, int ntrials)
void testRingAdd(const T *R, int ntrials)
void testRingSubtract(const T *R, int ntrials)
void testRingNegate(const T *R, int ntrials)
Shared gtest fixture for the legacy Ring-based Ring*Test.cpp suite.
ring_elem getElement< RingZZ >(const RingZZ &R, int index)
ring_elem minus_one() const
virtual ring_elem add(const ring_elem f, const ring_elem g) const
virtual ring_elem from_long(long n) const
virtual ring_elem from_int(mpz_srcptr n) const
virtual ring_elem divide(const ring_elem f, const ring_elem g) const
static std::pair< bool, int > get_si(mpz_srcptr n)
ring_elem gcd(const ring_elem f, const ring_elem g) const
virtual bool is_equal(const ring_elem f, const ring_elem g) const
virtual ring_elem mult(const ring_elem f, const ring_elem g) const
ring_elem gcd_extended(const ring_elem f, const ring_elem g, ring_elem &u, ring_elem &v) const
Engine-side ring of integers, backed by GMP mpz_ptr elements.
void subtract(int &result, int a, int b)
std::ostringstream & ones(std::ostringstream &o, int len)
gmp_ZZ rawRandomInteger(gmp_ZZ maxN)