16 #define nCopy(n) n_Copy(n, currRing->cf)
17 #define nDelete(n) n_Delete(n, currRing->cf)
18 #define nMult(n1, n2) n_Mult(n1, n2, currRing->cf)
19 #define nAdd(n1, n2) n_Add(n1, n2, currRing->cf)
20 #define nIsZero(n) n_IsZero(n, currRing->cf)
21 #define nEqual(n1, n2) n_Equal(n1, n2, currRing->cf)
22 #define nInpNeg(n) n_InpNeg(n, currRing->cf)
23 #define nSub(n1, n2) n_Sub(n1, n2, currRing->cf)
24 #define nGetChar() n_GetChar(currRing->cf)
25 #define nInit(i) n_Init(i, currRing->cf)
26 #define nIsOne(n) n_IsOne(n, currRing->cf)
27 #define nIsMOne(n) n_IsMOne(n, currRing->cf)
28 #define nGreaterZero(n) n_GreaterZero(n, currRing->cf)
29 #define nGreater(a, b) n_Greater (a,b,currRing->cf)
30 #define nWrite(n) n_Write(n, currRing->cf, rShortOut(currRing))
31 #define nNormalize(n) n_Normalize(n,currRing->cf)
32 #define nGcd(a,b) n_Gcd(a,b,currRing->cf)
33 #define nDiv(a, b) n_Div(a,b,currRing->cf)
34 #define nInvers(a) n_Invers(a,currRing->cf)
35 #define nExactDiv(a, b) n_ExactDiv(a,b,currRing->cf)
36 #define nTest(a) n_Test(a,currRing->cf)
38 #define nInpMult(a, b) n_InpMult(a,b,currRing->cf)
39 #define nPower(a, b, res) n_Power(a,b,res,currRing->cf)
40 #define nSize(n) n_Size(n,currRing->cf)
41 #define nGetDenom(N) n_GetDenom((N),currRing->cf)
42 #define nGetNumerator(N) n_GetNumerator((N),currRing->cf)
44 #define nSetMap(R) n_SetMap(R,currRing->cf)
47 #define nPrint(a) n_Print(a,currRing->cf)
55 #if SIZEOF_DOUBE == SIZEOF_LONG
56 #define SHORT_REAL_LENGTH 16
58 #define SHORT_REAL_LENGTH 6
112 char*
nEati(
char *
s,
int *
i,
int m);
Coefficient rings, fields and other domains suitable for Singular polynomials.
const CanonicalForm int s
The main handler for Singular numbers which are suitable for Singular polynomials.
void nRegisterCfByName(cfInitCfByNameProc p, n_coeffType n)
CanonicalForm ndConvSingNFactoryN(number, BOOLEAN, const coeffs)
number ndCopyMap(number a, const coeffs src, const coeffs dst)
coeffs(* cfInitCfByNameProc)(char *s, n_coeffType n)
initialize an object of type coeffs by its name, return NULL otherwise
coeffs nFindCoeffByName(char *n)
find an existing coeff by its "CoeffName"
BOOLEAN(* cfInitCharProc)(coeffs, void *)
initialize an object of type coeff, return FALSE in case of success
const char *const nDivBy0
number ndGcd(number a, number b, const coeffs)
char * nEatLong(char *s, mpz_ptr i)
extracts a long integer from s, returns the rest
BOOLEAN n_IsZeroDivisor(number a, const coeffs r)
Test whether a is a zero divisor in r i.e. not coprime with char. of r very inefficient implementatio...
n_coeffType nRegister(n_coeffType n, cfInitCharProc p)
char * nEati(char *s, int *i, int m)
divide by the first (leading) number and return it, i.e. make monic