 |
My Project
UNKNOWN_GIT_VERSION
|
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 936 of file rmodulon.cc.
939 const char * start=
s;
940 if (!(*
s >=
'0' && *
s <=
'9'))
942 mpz_init_set_ui(
i, 1);
946 while (*
s >=
'0' && *
s <=
'9')
s++;
949 mpz_set_str(
i,start,10);
955 mpz_set_str(
i,start,10);
◆ nrnAdd()
static number nrnAdd |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 244 of file rmodulon.cc.
249 mpz_add(erg, (mpz_ptr)a, (mpz_ptr)
b);
250 mpz_mod(erg, erg, r->modNumber);
◆ nrnAnn()
Definition at line 544 of file rmodulon.cc.
549 mpz_gcd(tmp, (mpz_ptr)
k, r->modNumber);
550 if (mpz_cmp_si(tmp, 1)==0)
555 mpz_divexact(tmp, r->modNumber, tmp);
◆ nrnCoeffIsEqual()
Definition at line 104 of file rmodulon.cc.
109 return (n==r->type) && (r->modExponent==
info->exp)
110 && (mpz_cmp(r->modBase,
info->base)==0);
◆ nrnCoeffName()
Definition at line 86 of file rmodulon.cc.
90 size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) + 2;
94 s= mpz_get_str (
s, 10, r->modBase);
◆ nrnCoeffString()
Definition at line 112 of file rmodulon.cc.
115 size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) +2;
117 b= mpz_get_str (
b, 10, r->modBase);
120 else sprintf(
s,
"ZZ/(bigint(%s)^%lu)",
b,r->modExponent);
◆ nrnCoeffWrite()
Definition at line 35 of file rmodulon.cc.
38 size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) + 2;
40 s= mpz_get_str (
s, 10, r->modBase);
◆ nrnConvFactoryNSingN()
◆ nrnConvSingNFactoryN()
◆ nrnCopy()
static number nrnCopy |
( |
number |
a, |
|
|
const |
coeffs |
|
) |
| |
|
static |
Definition at line 177 of file rmodulon.cc.
181 mpz_init_set(erg, (mpz_ptr) a);
◆ nrnDBTest()
Definition at line 922 of file rmodulon.cc.
925 if ( (
mpz_sgn1((mpz_ptr) a) < 0) || (mpz_cmp((mpz_ptr) a, r->modNumber) > 0) )
927 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 576 of file rmodulon.cc.
588 if (mpz_divisible_p((mpz_ptr)a, (mpz_ptr)
b))
590 mpz_divexact(erg, (mpz_ptr)a, (mpz_ptr)
b);
596 mpz_divexact(erg, (mpz_ptr)
b,
gcd);
599 WerrorS(
"Division not possible, even by cancelling zero divisors.");
605 mpz_ptr tmp = (mpz_ptr)
nrnInvers((number) erg,r);
606 mpz_divexact(erg, (mpz_ptr)a,
gcd);
607 mpz_mul(erg, erg, tmp);
610 mpz_mod(erg, erg, r->modNumber);
◆ nrnDivBy()
Definition at line 558 of file rmodulon.cc.
563 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 568 of file rmodulon.cc.
572 if (mpz_divisible_p((mpz_ptr) a, (mpz_ptr)
b))
return -1;
573 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 361 of file rmodulon.cc.
364 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 340 of file rmodulon.cc.
349 mpz_gcdext(erg, bs, bt, (mpz_ptr)a, (mpz_ptr)
b);
350 mpz_mod(bs, bs, r->modNumber);
351 mpz_mod(bt, bt, r->modNumber);
◆ nrnGcd()
static number nrnGcd |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 288 of file rmodulon.cc.
292 mpz_init_set(erg, r->modNumber);
293 if (a !=
NULL) mpz_gcd(erg, erg, (mpz_ptr)a);
294 mpz_gcd(erg, erg, (mpz_ptr)
b);
295 if(mpz_cmp(erg,r->modNumber)==0)
◆ nrnGetUnit()
Definition at line 366 of file rmodulon.cc.
369 if (mpz_divisible_p(r->modNumber, (mpz_ptr)
k))
return nrnInit(1,r);
372 mpz_tdiv_q(unit, (mpz_ptr)
k, unit);
378 mpz_ptr tmp = (mpz_ptr)
nrnMult((number) unit,(number) unit,r);
380 mpz_ptr gcd_new = (mpz_ptr)
nrnGcd(
NULL, (number) tmp, r);
388 mpz_mul(tmp, tmp, unit);
389 mpz_mod(tmp, tmp, r->modNumber);
391 mpz_gcd(gcd_new, tmp, r->modNumber);
394 mpz_tdiv_q(tmp, r->modNumber, gcd_new);
395 mpz_add(unit, unit, tmp);
396 mpz_mod(unit, unit, r->modNumber);
◆ nrnGreater()
static BOOLEAN nrnGreater |
( |
number |
a, |
|
|
number |
b, |
|
|
const |
coeffs |
|
) |
| |
|
static |
Definition at line 513 of file rmodulon.cc.
516 return 0 < mpz_cmp((mpz_ptr)a, (mpz_ptr)
b);
◆ nrnGreaterZero()
Definition at line 518 of file rmodulon.cc.
523 if (mpz_cmp_ui(
cf->modBase,2)==0)
527 mpz_t ch2; mpz_init_set(ch2,
cf->modBase);
528 mpz_sub_ui(ch2,ch2,1);
529 mpz_divexact_ui(ch2,ch2,2);
530 if (mpz_cmp(ch2,(mpz_ptr)
k)<0)
◆ nrnInit()
Definition at line 187 of file rmodulon.cc.
191 mpz_init_set_si(erg,
i);
192 mpz_mod(erg, erg, r->modNumber);
◆ nrnInitCfByName()
Definition at line 57 of file rmodulon.cc.
60 const char start[]=
"ZZ/bigint(";
61 const int start_len=strlen(start);
62 if (strncmp(
s,start,start_len)==0)
71 while ((*
s!=
'\0') && (*
s!=
')'))
s++;
73 if (*
s==
'\0') { mpz_clear(z);
return NULL; }
74 if (((*
s)==
')') && (*(
s+1)==
'^'))
◆ nrnInitChar()
Definition at line 998 of file rmodulon.cc.
1003 r->modBase= (mpz_ptr)
nrnCopy((number)
info->base, r);
1011 r->ch = mpz_get_ui(r->modNumber);
1059 #if SI_INTEGER_VARIANT==2
1067 if ((r->modExponent==1)&&(
mpz_size1(r->modBase)==1))
1069 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 198 of file rmodulon.cc.
201 return mpz_get_si((mpz_ptr) n);
◆ nrnIntDiv()
static number nrnIntDiv |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 646 of file rmodulon.cc.
651 mpz_tdiv_q(erg, (mpz_ptr)a, (mpz_ptr)
b);
◆ nrnInvers()
Definition at line 275 of file rmodulon.cc.
280 mpz_invert(erg, (mpz_ptr)c, r->modNumber);
◆ nrnIsMOne()
Definition at line 503 of file rmodulon.cc.
507 mpz_t t; mpz_init_set(t, (mpz_ptr)a);
509 bool erg = (0 == mpz_cmp(t, r->modNumber));
◆ nrnIsOne()
Definition at line 356 of file rmodulon.cc.
359 return 0 == mpz_cmp_si((mpz_ptr)a, 1);
◆ nrnIsUnit()
◆ nrnIsZero()
Definition at line 262 of file rmodulon.cc.
265 return 0 == mpz_cmpabs_ui((mpz_ptr)a, 0);
◆ nrnKillChar()
static void nrnKillChar |
( |
coeffs |
r | ) |
|
|
static |
Definition at line 124 of file rmodulon.cc.
127 mpz_clear(r->modNumber);
128 mpz_clear(r->modBase);
◆ nrnLcm()
static number nrnLcm |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 307 of file rmodulon.cc.
312 mpz_lcm((mpz_ptr)erg, (mpz_ptr)erg, (mpz_ptr)tmp);
◆ nrnMap2toM()
Definition at line 712 of file rmodulon.cc.
717 mpz_mul_ui(erg,
nrnMapCoef, (
unsigned long)from);
718 mpz_mod(erg, erg, dst->modNumber);
◆ nrnMapGMP()
Definition at line 731 of file rmodulon.cc.
736 mpz_mod(erg, (mpz_ptr)from, dst->modNumber);
◆ nrnMapModN()
◆ nrnMapQ()
Definition at line 739 of file rmodulon.cc.
744 nlGMP(from, erg, src);
745 mpz_mod(erg, erg, dst->modNumber);
◆ nrnMapZ()
◆ nrnMapZp()
Definition at line 721 of file rmodulon.cc.
728 mpz_mod(erg, erg, dst->modNumber);
◆ nrnMod()
static number nrnMod |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 614 of file rmodulon.cc.
639 mpz_init_set_ui(rr, 0);
640 mpz_gcd(
g, (mpz_ptr)r->modNumber, (mpz_ptr)
b);
641 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 227 of file rmodulon.cc.
232 mpz_mul(erg, (mpz_ptr)a, (mpz_ptr)
b);
233 mpz_mod(erg, erg, r->modNumber);
◆ nrnNeg()
Definition at line 267 of file rmodulon.cc.
272 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 236 of file rmodulon.cc.
241 mpz_powm_ui(erg, (mpz_ptr)a,
i, r->modNumber);
◆ nrnQuot1()
Definition at line 132 of file rmodulon.cc.
136 long ch = r->cfInt(c, r);
138 mpz_init_set(a, r->modNumber);
139 mpz_init_set_ui(
b, ch);
143 if(mpz_cmp_ui(
gcd, 1) == 0)
145 WerrorS(
"constant in q-ideal is coprime to modulus in ground ring");
146 WerrorS(
"Unable to create qring!");
149 if(r->modExponent == 1)
153 info.exp = (
unsigned long) 1;
159 info.base = r->modBase;
162 mpz_init(baseTokNew);
163 mpz_set(baseTokNew, r->modBase);
164 while(mpz_cmp(
gcd, baseTokNew) > 0)
167 mpz_mul(baseTokNew, baseTokNew, r->modBase);
171 mpz_clear(baseTokNew);
◆ nrnQuotRem()
static number nrnQuotRem |
( |
number |
a, |
|
|
number |
b, |
|
|
number * |
rem, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 669 of file rmodulon.cc.
678 mpz_init_set(aa, (mpz_ptr)a);
679 mpz_init_set(bb, (mpz_ptr)
b);
681 mpz_gcd(
g, bb, r->modNumber);
687 mpz_div(
g, r->modNumber,
g);
688 mpz_invert(
g, bb,
g);
◆ nrnRead()
Definition at line 960 of file rmodulon.cc.
967 mpz_mod(z, z, r->modNumber);
975 *a=
nrnDiv((number)z,(number)n,r);
◆ nrnSetExp()
static void nrnSetExp |
( |
unsigned long |
m, |
|
|
coeffs |
r |
|
) |
| |
|
static |
Definition at line 899 of file rmodulon.cc.
903 if (r->modNumber !=
NULL) mpz_clear(r->modNumber);
907 mpz_init_set (r->modNumber, r->modBase);
908 mpz_pow_ui (r->modNumber, r->modNumber,
m);
◆ nrnSetMap()
Definition at line 814 of file rmodulon.cc.
835 && (mpz_cmp(src->modBase, dst->modBase) == 0)
836 && (src->modExponent == dst->modExponent))
return ndCopyMap;
843 mpz_init_set_si(nrnMapModul, src->ch);
847 mpz_init(nrnMapModul);
848 mpz_set(nrnMapModul, src->modNumber);
857 if (mpz_divisible_p(nrnMapModul, dst->modNumber))
862 if (mpz_divisible_p(dst->modNumber,nrnMapModul))
864 mpz_divexact(
nrnMapCoef, dst->modNumber, nrnMapModul);
865 mpz_ptr tmp = dst->modNumber;
866 dst->modNumber = nrnMapModul;
869 dst->modNumber = tmp;
874 dst->modNumber = tmp;
◆ nrnSub()
static number nrnSub |
( |
number |
a, |
|
|
number |
b, |
|
|
const coeffs |
r |
|
) |
| |
|
static |
Definition at line 253 of file rmodulon.cc.
258 mpz_sub(erg, (mpz_ptr)a, (mpz_ptr)
b);
259 mpz_mod(erg, erg, r->modNumber);
◆ nrnWrite()
Definition at line 776 of file rmodulon.cc.
786 int l=mpz_sizeinbase((mpz_ptr) a, 10) + 2;
790 mpz_t ch2; mpz_init_set(ch2,
cf->modBase);
791 mpz_sub_ui(ch2,ch2,1);
792 mpz_divexact_ui(ch2,ch2,2);
793 if ((mpz_cmp_ui(
cf->modBase,2)!=0) && (mpz_cmp(ch2,(mpz_ptr)a)<0))
795 mpz_sub(ch2,(mpz_ptr)a,
cf->modBase);
796 z=mpz_get_str(
s,10,ch2);
801 z=mpz_get_str(
s,10,(mpz_ptr) a);
808 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 412 of file rmodulon.cc.
422 nrnWrite(xx = (number)r->modNumber, r);
434 mpz_init_set(bs, (mpz_ptr) a);
435 mpz_init_set(bt, (mpz_ptr)
b);
438 mpz_gcd(erg, bs, bt);
445 mpz_gcd(erg, erg, r->modNumber);
447 mpz_div(bs, bs, erg);
448 mpz_div(bt, bt, erg);
455 mpz_gcdext(one, bu, bv, bs, bt);
473 mpz_init_set(uu, (mpz_ptr)ui);
492 mpz_mod(bs, bs, r->modNumber);
493 mpz_mod(bt, bt, r->modNumber);
494 mpz_mod(bu, bu, r->modNumber);
495 mpz_mod(bv, bv, r->modNumber);
◆ gmp_nrz_bin
◆ nrnCoeffName_buff
char* nrnCoeffName_buff =NULL |
|
static |
◆ nrnMapCoef
mpz_ptr nrnMapCoef = NULL |
|
static |
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 char * nrnCoeffName_buff
static 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)
number nrzReadFd(const ssiInfo *d, const coeffs)
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)
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)
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)
void nrzWriteFd(number n, const ssiInfo *d, const coeffs)
#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)
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)
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.