503 const int c = (
int) (
long)
p;
514 r->npPminus1M = c - 1;
563 r->cfExactDiv=
nvDiv;
584 r->nNULL = (number)0;
587 r->has_simple_Alloc=
TRUE;
588 r->has_simple_Inverse=
TRUE;
595 #if !defined(HAVE_DIV_MOD) || !defined(HAVE_MULT_MOD)
596 r->npExpTable=(
unsigned short *)
omAlloc( r->ch*
sizeof(
unsigned short) );
597 r->npLogTable=(
unsigned short *)
omAlloc( r->ch*
sizeof(
unsigned short) );
598 r->npExpTable[0] = 1;
599 r->npLogTable[0] = 0;
605 r->npLogTable[1] = 0;
611 r->npExpTable[
i] =(
int)(((
long)w * (long)r->npExpTable[i-1]) % r->ch);
612 r->npLogTable[r->npExpTable[
i]] =
i;
613 if ( r->npExpTable[
i] == 1 )
622 r->npExpTable[1] = 1;
623 r->npLogTable[1] = 0;
627 r->npInvTable=(
unsigned short*)
omAlloc0( r->ch*
sizeof(
unsigned short) );
const const intvec const intvec const ring _currRing const const intvec const intvec const ring _currRing int
number npInit(long i, const coeffs r)
long npInt(number &n, const coeffs r)
number nvInvers(number c, const coeffs r)
number npInvers(number c, const coeffs r)
number nvMult(number a, number b, const coeffs r)
number npAdd(number a, number b, const coeffs r)
number npDiv(number a, number b, const coeffs r)
static number npReadFd(s_buff f, const coeffs r)
BOOLEAN npEqual(number a, number b, const coeffs r)
BOOLEAN npDBTest(number a, const char *f, const int l, const coeffs r)
static void npWriteFd(number n, FILE *f, const coeffs r)
static number npRandom(siRandProc p, number, number, const coeffs cf)
BOOLEAN npGreater(number a, number b, const coeffs r)
number nvDiv(number a, number b, const coeffs r)
BOOLEAN npIsMOne(number a, const coeffs r)
void npCoeffWrite(const coeffs r, BOOLEAN details)
static const n_coeffType ID
Our Type!
BOOLEAN npGreaterZero(number k, const coeffs r)
nMapFunc npSetMap(const coeffs src, const coeffs dst)
static char * npCoeffString(const coeffs r)
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
void npWrite(number &a, const coeffs r)
number npSub(number a, number b, const coeffs r)
number npConvFactoryNSingN(const CanonicalForm n, const coeffs r)
number npNeg(number c, const coeffs r)
number npMult(number a, number b, const coeffs r)
CanonicalForm npConvSingNFactoryN(number n, BOOLEAN setChar, const coeffs r)
static BOOLEAN npCoeffsEqual(const coeffs r, n_coeffType n, void *parameter)
void npKillChar(coeffs r)
const char * npRead(const char *s, number *a, const coeffs r)
BOOLEAN npIsOne(number a, const coeffs r)
BOOLEAN npIsZero(number a, const coeffs r)