 |
My Project
debian-1:4.1.2-p1+ds-2
|
Go to the source code of this file.
|
void | nrnWrite (number a, const coeffs) |
|
BOOLEAN | nrnDBTest (number a, const char *f, const int l, const coeffs r) |
|
static void | nrnCoeffWrite (const coeffs r, BOOLEAN) |
|
coeffs | nrnInitCfByName (char *s, n_coeffType n) |
|
static char * | nrnCoeffName (const coeffs r) |
|
static BOOLEAN | nrnCoeffIsEqual (const coeffs r, n_coeffType n, void *parameter) |
|
static char * | nrnCoeffString (const coeffs r) |
|
static void | nrnKillChar (coeffs r) |
|
static coeffs | nrnQuot1 (number c, const coeffs r) |
|
static number | nrnCopy (number a, const coeffs) |
|
static number | nrnInit (long i, const coeffs r) |
|
static long | nrnInt (number &n, const coeffs) |
|
static number | nrnMult (number a, number b, const coeffs r) |
|
static void | nrnPower (number a, int i, number *result, const coeffs r) |
|
static number | nrnAdd (number a, number b, const coeffs r) |
|
static number | nrnSub (number a, number b, const coeffs r) |
|
static BOOLEAN | nrnIsZero (number a, const coeffs) |
|
static number | nrnNeg (number c, const coeffs r) |
|
static number | nrnInvers (number c, const coeffs r) |
|
static number | nrnGcd (number a, number b, const coeffs r) |
|
static number | nrnLcm (number a, number b, const coeffs r) |
|
static number | nrnExtGcd (number a, number b, number *s, number *t, const coeffs r) |
|
static BOOLEAN | nrnIsOne (number a, const coeffs) |
|
static BOOLEAN | nrnEqual (number a, number b, const coeffs) |
|
static number | nrnGetUnit (number k, const coeffs r) |
|
static number | nrnXExtGcd (number a, number b, number *s, number *t, number *u, number *v, const coeffs r) |
|
static BOOLEAN | nrnIsMOne (number a, const coeffs r) |
|
static BOOLEAN | nrnGreater (number a, number b, const coeffs) |
|
static BOOLEAN | nrnGreaterZero (number k, const coeffs cf) |
|
static BOOLEAN | nrnIsUnit (number a, const coeffs r) |
|
static number | nrnAnn (number k, const coeffs r) |
|
static BOOLEAN | nrnDivBy (number a, number b, const coeffs r) |
|
static int | nrnDivComp (number a, number b, const coeffs r) |
|
static number | nrnDiv (number a, number b, const coeffs r) |
|
static number | nrnMod (number a, number b, const coeffs r) |
|
static number | nrnIntDiv (number a, number b, const coeffs r) |
|
static number | nrnQuotRem (number a, number b, number *rem, const coeffs r) |
|
static number | nrnMapModN (number from, const coeffs, const coeffs dst) |
|
static number | nrnMap2toM (number from, const coeffs, const coeffs dst) |
|
static number | nrnMapZp (number from, const coeffs, const coeffs dst) |
|
number | nrnMapGMP (number from, const coeffs, const coeffs dst) |
|
static number | nrnMapQ (number from, const coeffs src, const coeffs dst) |
|
static number | nrnMapZ (number from, const coeffs src, const coeffs dst) |
|
nMapFunc | nrnSetMap (const coeffs src, const coeffs dst) |
|
static void | nrnSetExp (unsigned long m, coeffs r) |
|
static void | nrnInitExp (unsigned long m, coeffs r) |
|
static const char * | nlCPEatLongC (char *s, mpz_ptr i) |
|
static const char * | nrnRead (const char *s, number *a, const coeffs r) |
|
static number | nrnConvFactoryNSingN (const CanonicalForm n, const coeffs r) |
|
static CanonicalForm | nrnConvSingNFactoryN (number n, BOOLEAN setChar, const coeffs r) |
|
BOOLEAN | nrnInitChar (coeffs r, void *p) |
|
◆ nrnDelete
◆ nrnSize
◆ nlCPEatLongC()
static const char* nlCPEatLongC |
( |
char * |
s, |
|
|
mpz_ptr |
i |
|
) |
| |
|
static |
Definition at line 935 of file rmodulon.cc.
938 const char * start=
s;
939 if (!(*
s >=
'0' && *
s <=
'9'))
941 mpz_init_set_ui(
i, 1);
945 while (*
s >=
'0' && *
s <=
'9')
s++;
948 mpz_set_str(
i,start,10);
954 mpz_set_str(
i,start,10);
◆ nrnAdd()
static number nrnAdd |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 243 of file rmodulon.cc.
248 mpz_add(erg, (mpz_ptr)a, (mpz_ptr)
b);
249 mpz_mod(erg, erg, r->modNumber);
◆ nrnAnn()
Definition at line 543 of file rmodulon.cc.
548 mpz_gcd(tmp, (mpz_ptr)
k, r->modNumber);
549 if (mpz_cmp_si(tmp, 1)==0)
554 mpz_divexact(tmp, r->modNumber, tmp);
◆ nrnCoeffIsEqual()
Definition at line 103 of file rmodulon.cc.
108 return (n==r->type) && (r->modExponent==
info->exp)
109 && (mpz_cmp(r->modBase,
info->base)==0);
◆ nrnCoeffName()
Definition at line 85 of file rmodulon.cc.
89 size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) + 2;
93 s= mpz_get_str (
s, 10, r->modBase);
◆ nrnCoeffString()
Definition at line 111 of file rmodulon.cc.
114 size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) +2;
116 b= mpz_get_str (
b, 10, r->modBase);
119 else sprintf(
s,
"ZZ/(bigint(%s)^%lu)",
b,r->modExponent);
◆ nrnCoeffWrite()
Definition at line 34 of file rmodulon.cc.
37 size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) + 2;
39 s= mpz_get_str (
s, 10, r->modBase);
◆ nrnConvFactoryNSingN()
◆ nrnConvSingNFactoryN()
◆ nrnCopy()
static number nrnCopy |
( |
number |
a, |
|
|
const |
coeffs |
|
) |
| |
|
static |
Definition at line 176 of file rmodulon.cc.
180 mpz_init_set(erg, (mpz_ptr) a);
◆ nrnDBTest()
Definition at line 921 of file rmodulon.cc.
924 if ( (
mpz_sgn1((mpz_ptr) a) < 0) || (mpz_cmp((mpz_ptr) a, r->modNumber) > 0) )
926 Warn(
"mod-n: out of range at %s:%d\n",
f,
l);
◆ nrnDiv()
static number nrnDiv |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 575 of file rmodulon.cc.
587 if (mpz_divisible_p((mpz_ptr)a, (mpz_ptr)
b))
589 mpz_divexact(erg, (mpz_ptr)a, (mpz_ptr)
b);
595 mpz_divexact(erg, (mpz_ptr)
b,
gcd);
598 WerrorS(
"Division not possible, even by cancelling zero divisors.");
604 mpz_ptr tmp = (mpz_ptr)
nrnInvers((number) erg,r);
605 mpz_divexact(erg, (mpz_ptr)a,
gcd);
606 mpz_mul(erg, erg, tmp);
609 mpz_mod(erg, erg, r->modNumber);
◆ nrnDivBy()
Definition at line 557 of file rmodulon.cc.
562 mpz_tdiv_q((mpz_ptr)n, (mpz_ptr)
b, (mpz_ptr)n);
◆ nrnDivComp()
static int nrnDivComp |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 567 of file rmodulon.cc.
571 if (mpz_divisible_p((mpz_ptr) a, (mpz_ptr)
b))
return -1;
572 if (mpz_divisible_p((mpz_ptr)
b, (mpz_ptr) a))
return 1;
◆ nrnEqual()
static BOOLEAN nrnEqual |
( |
number |
a, |
|
|
number |
b, |
|
|
const |
coeffs |
|
) |
| |
|
static |
Definition at line 360 of file rmodulon.cc.
363 return 0 == mpz_cmp((mpz_ptr)a, (mpz_ptr)
b);
◆ nrnExtGcd()
static number nrnExtGcd |
( |
number |
a, |
|
|
number |
b, |
|
|
number * |
s, |
|
|
number * |
t, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 339 of file rmodulon.cc.
348 mpz_gcdext(erg, bs, bt, (mpz_ptr)a, (mpz_ptr)
b);
349 mpz_mod(bs, bs, r->modNumber);
350 mpz_mod(bt, bt, r->modNumber);
◆ nrnGcd()
static number nrnGcd |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 287 of file rmodulon.cc.
291 mpz_init_set(erg, r->modNumber);
292 if (a !=
NULL) mpz_gcd(erg, erg, (mpz_ptr)a);
293 mpz_gcd(erg, erg, (mpz_ptr)
b);
294 if(mpz_cmp(erg,r->modNumber)==0)
◆ nrnGetUnit()
Definition at line 365 of file rmodulon.cc.
368 if (mpz_divisible_p(r->modNumber, (mpz_ptr)
k))
return nrnInit(1,r);
371 mpz_tdiv_q(unit, (mpz_ptr)
k, unit);
377 mpz_ptr tmp = (mpz_ptr)
nrnMult((number) unit,(number) unit,r);
379 mpz_ptr gcd_new = (mpz_ptr)
nrnGcd(
NULL, (number) tmp, r);
387 mpz_mul(tmp, tmp, unit);
388 mpz_mod(tmp, tmp, r->modNumber);
390 mpz_gcd(gcd_new, tmp, r->modNumber);
393 mpz_tdiv_q(tmp, r->modNumber, gcd_new);
394 mpz_add(unit, unit, tmp);
395 mpz_mod(unit, unit, r->modNumber);
◆ nrnGreater()
static BOOLEAN nrnGreater |
( |
number |
a, |
|
|
number |
b, |
|
|
const |
coeffs |
|
) |
| |
|
static |
Definition at line 512 of file rmodulon.cc.
515 return 0 < mpz_cmp((mpz_ptr)a, (mpz_ptr)
b);
◆ nrnGreaterZero()
Definition at line 517 of file rmodulon.cc.
522 if (mpz_cmp_ui(
cf->modBase,2)==0)
526 mpz_t ch2; mpz_init_set(ch2,
cf->modBase);
527 mpz_sub_ui(ch2,ch2,1);
528 mpz_divexact_ui(ch2,ch2,2);
529 if (mpz_cmp(ch2,(mpz_ptr)
k)<0)
◆ nrnInit()
Definition at line 186 of file rmodulon.cc.
190 mpz_init_set_si(erg,
i);
191 mpz_mod(erg, erg, r->modNumber);
◆ nrnInitCfByName()
Definition at line 56 of file rmodulon.cc.
59 const char start[]=
"ZZ/bigint(";
60 const int start_len=strlen(start);
61 if (strncmp(
s,start,start_len)==0)
70 while ((*
s!=
'\0') && (*
s!=
')'))
s++;
72 if (*
s==
'\0') { mpz_clear(z);
return NULL; }
73 if (((*
s)==
')') && (*(
s+1)==
'^'))
◆ nrnInitChar()
Definition at line 997 of file rmodulon.cc.
1002 r->modBase= (mpz_ptr)
nrnCopy((number)
info->base, r);
1010 r->ch = mpz_get_ui(r->modNumber);
1058 #if SI_INTEGER_VARIANT==2
1066 if ((r->modExponent==1)&&(
mpz_size1(r->modBase)==1))
1068 long p=mpz_get_si(r->modBase);
◆ nrnInitExp()
static void nrnInitExp |
( |
unsigned long |
m, |
|
|
coeffs |
r |
|
) |
| |
|
static |
◆ nrnInt()
static long nrnInt |
( |
number & |
n, |
|
|
const |
coeffs |
|
) |
| |
|
static |
Definition at line 197 of file rmodulon.cc.
200 return mpz_get_si((mpz_ptr) n);
◆ nrnIntDiv()
static number nrnIntDiv |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 645 of file rmodulon.cc.
650 mpz_tdiv_q(erg, (mpz_ptr)a, (mpz_ptr)
b);
◆ nrnInvers()
Definition at line 274 of file rmodulon.cc.
279 mpz_invert(erg, (mpz_ptr)c, r->modNumber);
◆ nrnIsMOne()
Definition at line 502 of file rmodulon.cc.
506 mpz_t t; mpz_init_set(t, (mpz_ptr)a);
508 bool erg = (0 == mpz_cmp(t, r->modNumber));
◆ nrnIsOne()
Definition at line 355 of file rmodulon.cc.
358 return 0 == mpz_cmp_si((mpz_ptr)a, 1);
◆ nrnIsUnit()
◆ nrnIsZero()
Definition at line 261 of file rmodulon.cc.
264 return 0 == mpz_cmpabs_ui((mpz_ptr)a, 0);
◆ nrnKillChar()
static void nrnKillChar |
( |
coeffs |
r | ) |
|
|
static |
Definition at line 123 of file rmodulon.cc.
126 mpz_clear(r->modNumber);
127 mpz_clear(r->modBase);
◆ nrnLcm()
static number nrnLcm |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 306 of file rmodulon.cc.
311 mpz_lcm((mpz_ptr)erg, (mpz_ptr)erg, (mpz_ptr)tmp);
◆ nrnMap2toM()
Definition at line 711 of file rmodulon.cc.
716 mpz_mul_ui(erg,
nrnMapCoef, (
unsigned long)from);
717 mpz_mod(erg, erg, dst->modNumber);
◆ nrnMapGMP()
Definition at line 730 of file rmodulon.cc.
735 mpz_mod(erg, (mpz_ptr)from, dst->modNumber);
◆ nrnMapModN()
◆ nrnMapQ()
Definition at line 738 of file rmodulon.cc.
743 nlGMP(from, erg, src);
744 mpz_mod(erg, erg, dst->modNumber);
◆ nrnMapZ()
◆ nrnMapZp()
Definition at line 720 of file rmodulon.cc.
727 mpz_mod(erg, erg, dst->modNumber);
◆ nrnMod()
static number nrnMod |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 613 of file rmodulon.cc.
638 mpz_init_set_ui(rr, 0);
639 mpz_gcd(
g, (mpz_ptr)r->modNumber, (mpz_ptr)
b);
640 if (mpz_cmp_si(
g, 1L) != 0) mpz_mod(rr, (mpz_ptr)a,
g);
◆ nrnMult()
static number nrnMult |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 226 of file rmodulon.cc.
231 mpz_mul(erg, (mpz_ptr)a, (mpz_ptr)
b);
232 mpz_mod(erg, erg, r->modNumber);
◆ nrnNeg()
Definition at line 266 of file rmodulon.cc.
271 mpz_sub((mpz_ptr)c, r->modNumber, (mpz_ptr)c);
◆ nrnPower()
static void nrnPower |
( |
number |
a, |
|
|
int |
i, |
|
|
number * |
result, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 235 of file rmodulon.cc.
240 mpz_powm_ui(erg, (mpz_ptr)a,
i, r->modNumber);
◆ nrnQuot1()
Definition at line 131 of file rmodulon.cc.
135 long ch = r->cfInt(c, r);
137 mpz_init_set(a, r->modNumber);
138 mpz_init_set_ui(
b, ch);
142 if(mpz_cmp_ui(
gcd, 1) == 0)
144 WerrorS(
"constant in q-ideal is coprime to modulus in ground ring");
145 WerrorS(
"Unable to create qring!");
148 if(r->modExponent == 1)
152 info.exp = (
unsigned long) 1;
158 info.base = r->modBase;
161 mpz_init(baseTokNew);
162 mpz_set(baseTokNew, r->modBase);
163 while(mpz_cmp(
gcd, baseTokNew) > 0)
166 mpz_mul(baseTokNew, baseTokNew, r->modBase);
170 mpz_clear(baseTokNew);
◆ nrnQuotRem()
static number nrnQuotRem |
( |
number |
a, |
|
|
number |
b, |
|
|
number * |
rem, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 668 of file rmodulon.cc.
677 mpz_init_set(aa, (mpz_ptr)a);
678 mpz_init_set(bb, (mpz_ptr)
b);
680 mpz_gcd(
g, bb, r->modNumber);
686 mpz_div(
g, r->modNumber,
g);
687 mpz_invert(
g, bb,
g);
◆ nrnRead()
Definition at line 959 of file rmodulon.cc.
966 mpz_mod(z, z, r->modNumber);
974 *a=
nrnDiv((number)z,(number)n,r);
◆ nrnSetExp()
static void nrnSetExp |
( |
unsigned long |
m, |
|
|
coeffs |
r |
|
) |
| |
|
static |
Definition at line 898 of file rmodulon.cc.
902 if (r->modNumber !=
NULL) mpz_clear(r->modNumber);
906 mpz_init_set (r->modNumber, r->modBase);
907 mpz_pow_ui (r->modNumber, r->modNumber,
m);
◆ nrnSetMap()
Definition at line 813 of file rmodulon.cc.
834 && (mpz_cmp(src->modBase, dst->modBase) == 0)
835 && (src->modExponent == dst->modExponent))
return ndCopyMap;
842 mpz_init_set_si(nrnMapModul, src->ch);
846 mpz_init(nrnMapModul);
847 mpz_set(nrnMapModul, src->modNumber);
856 if (mpz_divisible_p(nrnMapModul, dst->modNumber))
861 if (mpz_divisible_p(dst->modNumber,nrnMapModul))
863 mpz_divexact(
nrnMapCoef, dst->modNumber, nrnMapModul);
864 mpz_ptr tmp = dst->modNumber;
865 dst->modNumber = nrnMapModul;
868 dst->modNumber = tmp;
873 dst->modNumber = tmp;
◆ nrnSub()
static number nrnSub |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 252 of file rmodulon.cc.
257 mpz_sub(erg, (mpz_ptr)a, (mpz_ptr)
b);
258 mpz_mod(erg, erg, r->modNumber);
◆ nrnWrite()
Definition at line 775 of file rmodulon.cc.
785 int l=mpz_sizeinbase((mpz_ptr) a, 10) + 2;
789 mpz_t ch2; mpz_init_set(ch2,
cf->modBase);
790 mpz_sub_ui(ch2,ch2,1);
791 mpz_divexact_ui(ch2,ch2,2);
792 if ((mpz_cmp_ui(
cf->modBase,2)!=0) && (mpz_cmp(ch2,(mpz_ptr)a)<0))
794 mpz_sub(ch2,(mpz_ptr)a,
cf->modBase);
795 z=mpz_get_str(
s,10,ch2);
800 z=mpz_get_str(
s,10,(mpz_ptr) a);
807 z=mpz_get_str(
s,10,(mpz_ptr) a);
◆ nrnXExtGcd()
static number nrnXExtGcd |
( |
number |
a, |
|
|
number |
b, |
|
|
number * |
s, |
|
|
number * |
t, |
|
|
number * |
u, |
|
|
number * |
v, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 411 of file rmodulon.cc.
421 nrnWrite(xx = (number)r->modNumber, r);
433 mpz_init_set(bs, (mpz_ptr) a);
434 mpz_init_set(bt, (mpz_ptr)
b);
437 mpz_gcd(erg, bs, bt);
444 mpz_gcd(erg, erg, r->modNumber);
446 mpz_div(bs, bs, erg);
447 mpz_div(bt, bt, erg);
454 mpz_gcdext(one, bu, bv, bs, bt);
472 mpz_init_set(uu, (mpz_ptr)ui);
491 mpz_mod(bs, bs, r->modNumber);
492 mpz_mod(bt, bt, r->modNumber);
493 mpz_mod(bu, bu, r->modNumber);
494 mpz_mod(bv, bv, r->modNumber);
◆ gmp_nrz_bin
◆ nrnCoeffName_buff
◆ nrnMapCoef
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
static number nrnMult(number a, number b, const coeffs r)
(mpz_ptr), see rmodulon,h
only used if HAVE_RINGS is defined
STATIC_VAR mpz_ptr nrnMapCoef
static FORCE_INLINE BOOLEAN nCoeff_is_Zp(const coeffs r)
void StringAppendS(const char *st)
static char * nrnCoeffName(const coeffs r)
static FORCE_INLINE BOOLEAN nCoeff_is_Z(const coeffs r)
static FORCE_INLINE BOOLEAN nCoeff_is_Ring_2toM(const coeffs r)
static number nrnMapZp(number from, const coeffs, const coeffs dst)
static BOOLEAN nrnIsMOne(number a, const coeffs r)
static BOOLEAN nrnDivBy(number a, number b, const coeffs r)
static number nrnGetUnit(number k, const coeffs r)
static number nrnInvers(number c, const coeffs r)
static long nrnInt(number &n, const coeffs)
static BOOLEAN nrnIsZero(number a, const coeffs)
static number nrnMod(number a, number b, const coeffs r)
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
static CanonicalForm nrnConvSingNFactoryN(number n, BOOLEAN setChar, const coeffs r)
static BOOLEAN nrnGreater(number a, number b, const coeffs)
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
only used if HAVE_RINGS is defined
static void nrnInitExp(unsigned long m, coeffs r)
nMapFunc nrnSetMap(const coeffs src, const coeffs dst)
number nrzReadFd(const ssiInfo *d, const coeffs)
static number nrnQuotRem(number a, number b, number *rem, const coeffs r)
static number nrnMap2toM(number from, const coeffs, const coeffs dst)
static number nrnDiv(number a, number b, const coeffs r)
static BOOLEAN nrnIsOne(number a, const coeffs)
void nrzWriteFd(number n, const ssiInfo *d, const coeffs)
static number nrnSub(number a, number b, const coeffs r)
static FORCE_INLINE void n_Write(number n, const coeffs r, const BOOLEAN bShortOut=TRUE)
void PrintS(const char *s)
static coeffs nrnQuot1(number c, const coeffs r)
static number nrnGcd(number a, number b, const coeffs r)
#define omFreeSize(addr, size)
#define FACTORY_MAX_PRIME
static const char * nrnRead(const char *s, number *a, const coeffs r)
static void nrnKillChar(coeffs r)
char * nEatLong(char *s, mpz_ptr i)
extracts a long integer from s, returns the rest
static BOOLEAN nrnIsUnit(number a, const coeffs r)
EXTERN_VAR omBin gmp_nrz_bin
static FORCE_INLINE BOOLEAN nCoeff_is_Ring_PtoM(const coeffs r)
static void nrnSetExp(unsigned long m, coeffs r)
static number nrnMapModN(number from, const coeffs, const coeffs dst)
static number nrnLcm(number a, number b, const coeffs r)
static int nrnDivComp(number a, number b, const coeffs r)
static number nrnAnn(number k, const coeffs r)
static number nrnCopy(number a, const coeffs)
static number nrnConvFactoryNSingN(const CanonicalForm n, const coeffs r)
static number nrnMapZ(number from, const coeffs src, const coeffs dst)
static number nrnMapQ(number from, const coeffs src, const coeffs dst)
static char * nrnCoeffString(const coeffs r)
void mpz_mul_si(mpz_ptr r, mpz_srcptr s, long int si)
STATIC_VAR char * nrnCoeffName_buff
void StringSetS(const char *st)
number nrnMapGMP(number from, const coeffs, const coeffs dst)
static BOOLEAN nrnCoeffIsEqual(const coeffs r, n_coeffType n, void *parameter)
void nrnWrite(number a, const coeffs)
static const char * nlCPEatLongC(char *s, mpz_ptr i)
void WerrorS(const char *s)
static FORCE_INLINE BOOLEAN nCoeff_is_Zn(const coeffs r)
static number nrnXExtGcd(number a, number b, number *s, number *t, number *u, number *v, const coeffs r)
static number nrnInit(long i, const coeffs r)
char * nEati(char *s, int *i, int m)
divide by the first (leading) number and return it, i.e. make monic
const Variable & v
< [in] a sqrfree bivariate poly
static BOOLEAN nrnGreaterZero(number k, const coeffs cf)
const CanonicalForm int s
static number nrnExtGcd(number a, number b, number *s, number *t, const coeffs r)
static void nrnCoeffWrite(const coeffs r, BOOLEAN)
static number nrnNeg(number c, const coeffs r)
#define omFreeBin(addr, bin)
const ExtensionInfo & info
< [in] sqrfree poly
static number nrnAdd(number a, number b, const coeffs r)
static void nrnPower(number a, int i, number *result, const coeffs r)
BOOLEAN nrnDBTest(number a, const char *f, const int l, const coeffs r)
void rem(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)
static BOOLEAN nrnEqual(number a, number b, const coeffs)
void nlGMP(number &i, mpz_t n, const coeffs r)
(), see rinteger.h, new impl.