52 nmod_poly_gcd (F1, F1, G1);
65 fmpz_poly_gcd (F1, F1, G1);
76 CanonicalForm f,
g, c,
cg,
cl, BB,
B,
M, q, Dp, newD,
D, newq;
93 cl = ( f.
lc() /
cg ) * g.
lc();
105 while ( i >= 0 && q < B )
109 while ( i >= 0 &&
mod( cl, p ) == 0 )
155 DEBOUTLN( cerr,
"another try ..." );
192 nmod_poly_t F1, G1,
A,
B,
R;
198 nmod_poly_xgcd (R, A, B, F1, G1);
239 fmpq_poly_xgcd (R, A, B, F1, G1);
243 fmpq_poly_clear (F1);
244 fmpq_poly_clear (G1);
264 XGCD(RR,A,B,F1,G1,1);
276 XGCD (RR, A,B,F1,G1,1);
284 XGCD(RR,A,B,F1,G1,1);
295 XGCD (RR, A,B,F1,G1,1);
312 while ( ! p1.isZero() )
322 a = f0 / ( contf * contp0 );
323 b = g0 / ( contg * contp0 );
int cf_getSmallPrime(int i)
nmod_poly_init(FLINTmipo, getCharacteristic())
void convertFacCF2Fmpz_poly_t(fmpz_poly_t result, const CanonicalForm &f)
conversion of a factory univariate polynomial over Z to a fmpz_poly_t
Conversion to and from NTL.
This file defines functions for conversion to FLINT (www.flintlib.org) and back.
some useful template functions.
functions to print debug output
CanonicalForm extgcd(const CanonicalForm &f, const CanonicalForm &g, CanonicalForm &a, CanonicalForm &b)
CanonicalForm extgcd ( const CanonicalForm & f, const CanonicalForm & g, CanonicalForm & a...
nmod_poly_clear(FLINTmipo)
CanonicalForm convertNTLzzpX2CF(const zz_pX &poly, const Variable &x)
ZZX convertFacCF2NTLZZX(const CanonicalForm &f)
coprimality check and change of representation mod n
convertFacCF2nmod_poly_t(FLINTmipo, M)
CanonicalForm gcd_univar_flintp(const CanonicalForm &F, const CanonicalForm &G)
bool isPurePoly(const CanonicalForm &f)
int cf_getNumSmallPrimes()
declarations of higher level algorithms.
CanonicalForm bCommonDen(const CanonicalForm &f)
CanonicalForm bCommonDen ( const CanonicalForm & f )
CanonicalForm maxNorm(const CanonicalForm &f)
CanonicalForm maxNorm ( const CanonicalForm & f )
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...
void convertFacCF2Fmpq_poly_t(fmpq_poly_t result, const CanonicalForm &f)
conversion of a factory univariate polynomials over Q to fmpq_poly_t
bool fdivides(const CanonicalForm &f, const CanonicalForm &g)
bool fdivides ( const CanonicalForm & f, const CanonicalForm & g )
CanonicalForm convertFmpz_poly_t2FacCF(const fmpz_poly_t poly, const Variable &x)
conversion of a FLINT poly over Z to CanonicalForm
CanonicalForm balance_p(const CanonicalForm &f, const CanonicalForm &q, const CanonicalForm &qh)
same as balance_p ( const CanonicalForm & f, const CanonicalForm & q ) but qh= q/2 is provided...
zz_pX convertFacCF2NTLzzpX(const CanonicalForm &f)
CanonicalForm gcd_univar_flint0(const CanonicalForm &F, const CanonicalForm &G)
#define GaloisFieldDomain
#define DEBOUTLN(stream, objects)
CanonicalForm convertFmpq_poly_t2FacCF(const fmpq_poly_t p, const Variable &x)
conversion of a FLINT poly over Q to CanonicalForm
CanonicalForm convertZZ2CF(const ZZ &a)
NAME: convertZZ2CF.
CanonicalForm convertNTLZZX2CF(const ZZX &polynom, const Variable &x)
CanonicalForm convertnmod_poly_t2FacCF(const nmod_poly_t poly, const Variable &x)
conversion of a FLINT poly over Z/p to CanonicalForm
template CanonicalForm tmin(const CanonicalForm &, const CanonicalForm &)