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

◆ checkThreshold()

bool LLLoperations::checkThreshold ( ring_elem num,
ring_elem den )
staticprivate

Definition at line 10 of file LLL.cpp.

11{
12 // Makes sure that 1/4 < num/den <= 1
13 // Assumed: num, den are elements of ZZ.
14 mpz_srcptr a = num.get_mpz();
15 mpz_srcptr b = den.get_mpz();
16 if (mpz_sgn(a) < 0) return false;
17 if (mpz_sgn(b) < 0) return false;
18 if (mpz_cmp(a, b) > 0) return false; // return false if a>b.
19 mpz_t c;
20 mpz_init(c);
21 mpz_mul_2exp(c, a, 2); // c = 4*a
22 int cmp = mpz_cmp(b, c);
23 mpz_clear(c);
24 if (cmp >= 0) return false;
25 return true;
26}
mpz_srcptr get_mpz() const
Definition ringelem.hpp:127

References ring_elem::get_mpz().

Referenced by initializeLLL().