 |
My Project
debian-1:4.1.1-p2+ds-4
|
Go to the documentation of this file.
121 DEBINCLEVEL( cerr,
"chineseRemainder( ... CFArray ... )" );
123 ASSERT(
x.min() == q.
min() &&
x.size() == q.
size(),
"incompatible arrays" );
125 int i,
j, n =
x.size(), start =
x.min();
127 DEBOUTLN( cerr,
"array size = " << n );
132 while (
i < start + n - 1 )
158 DEBDECLEVEL( cerr,
"chineseRemainder( ... CFArray ... )" );
208 SqrRoot (
bound, NTLq/2);
210 for (
i =
f;
i.hasTerms();
i++ )
219 bool lessZero= (
sign (NTLc) == -1);
221 NTL::negate (NTLc, NTLc);
223 if (ReconstructRational (NTLnum, NTLden, NTLc, NTLq,
bound,
bound))
226 NTL::negate (NTLnum, NTLnum);
271 for (
i = 0;
i < len;
i++)
prod *= n[
i];
273 for (
i = 0;
i < len;
i++)
static const int SW_RATIONAL
set to 1 for computations over Q
bool isZero(const CFArray &A)
checks if entries of A are zero
class to iterate through CanonicalForm's
#define DEBOUTLN(stream, objects)
static CanonicalForm chin_mul_inv(CanonicalForm a, CanonicalForm b, int ind, CFArray &inv)
REvaluation E(1, terms.length(), IntRandom(25))
const CanonicalForm CFMap CFMap & N
#define ASSERT(expression, message)
void chineseRemainder(const CanonicalForm &x1, const CanonicalForm &q1, const CanonicalForm &x2, const CanonicalForm &q2, CanonicalForm &xnew, CanonicalForm &qnew)
void chineseRemainder ( const CanonicalForm & x1, const CanonicalForm & q1, const CanonicalForm & x2,...
#define DEBINCLEVEL(stream, msg)
void out_cf(const char *s1, const CanonicalForm &f, const char *s2)
cf_algorithm.cc - simple mathematical algorithms.
#define DEBDECLEVEL(stream, msg)
factory's class for variables
static CanonicalForm bound(const CFMatrix &M)
CanonicalForm Farey(const CanonicalForm &f, const CanonicalForm &q)
Farey rational reconstruction.
void chineseRemainderCached(CFArray &a, CFArray &n, CanonicalForm &xnew, CanonicalForm &prod, CFArray &inv)
CanonicalForm convertNTLZZX2CF(const ZZX &polynom, const Variable &x)
const CanonicalForm int s
ZZ convertFacCF2NTLZZ(const CanonicalForm &f)
NAME: convertFacCF2NTLZZX.