26 #define SR_HDL(A) ((long)(A)) 29 #define SR_TO_INT(SR) (((long)SR) >> 2) 39 while (*s >=
'0' && *s <=
'9') s++;
42 mpz_set_str(i,start,10);
48 mpz_set_str(i,start,10);
80 if (mpz_cmp_si(n,0L)==0)
86 else if (mpz_cmp_si(n,1L)==0)
92 if (mpz_cmp_si(z,0L)==0)
129 int l=mpz_sizeinbase(a->z,10);
130 if (a->s<2) l=
si_max(l,(
int)mpz_sizeinbase(a->n,10));
133 z=mpz_get_str(s,10,a->z);
138 z=mpz_get_str(s,10,a->n);
146 void nlDebugWrite (number
a)
159 int l=mpz_sizeinbase(a->z,10);
160 if (a->s<2) l=
si_max(l,(
int)mpz_sizeinbase(a->n,10));
163 z=mpz_get_str(s,10,a->z);
168 z=mpz_get_str(s,10,a->n);
const CanonicalForm int s
'SR_INT' is the type of those integers small enough to fit into 29 bits.
#define omFreeSize(addr, size)
const char * nlRead(const char *s, number *a, const coeffs r)
void nlWrite(number a, const coeffs)
void WerrorS(const char *s)
static const n_coeffType ID
Our Type!
Coefficient rings, fields and other domains suitable for Singular polynomials.
The main handler for Singular numbers which are suitable for Singular polynomials.
void StringAppendS(const char *st)
const char *const nDivBy0
static int si_max(const int a, const int b)
void PrintS(const char *s)
number nlShort3_noinline(number x)
#define omGetSpecBin(size)
void nlNormalize(number &x, const coeffs r)
static const char * nlEatLong(char *s, mpz_ptr i)