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) );
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)
void npWrite(number a, 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)
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.
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)