 |
My Project
debian-1:4.1.2-p1+ds-2
|
Go to the source code of this file.
◆ ZnmInfo
Definition at line 17 of file rmodulon.h.
Data Fields |
mpz_ptr |
base |
|
int |
exp |
|
◆ nrnInitCfByName()
Definition at line 56 of file rmodulon.cc.
59 const char start[]=
"ZZ/bigint(";
60 const int start_len=strlen(start);
61 if (strncmp(
s,start,start_len)==0)
70 while ((*
s!=
'\0') && (*
s!=
')'))
s++;
72 if (*
s==
'\0') { mpz_clear(z);
return NULL; }
73 if (((*
s)==
')') && (*(
s+1)==
'^'))
◆ nrnInitChar()
Definition at line 997 of file rmodulon.cc.
1002 r->modBase= (mpz_ptr)
nrnCopy((number)
info->base, r);
1010 r->ch = mpz_get_ui(r->modNumber);
1058 #if SI_INTEGER_VARIANT==2
1066 if ((r->modExponent==1)&&(
mpz_size1(r->modBase)==1))
1068 long p=mpz_get_si(r->modBase);
◆ nrnMapGMP()
Definition at line 730 of file rmodulon.cc.
735 mpz_mod(erg, (mpz_ptr)from, dst->modNumber);
◆ nrnSetMap()
Definition at line 813 of file rmodulon.cc.
834 && (mpz_cmp(src->modBase, dst->modBase) == 0)
835 && (src->modExponent == dst->modExponent))
return ndCopyMap;
842 mpz_init_set_si(nrnMapModul, src->ch);
846 mpz_init(nrnMapModul);
847 mpz_set(nrnMapModul, src->modNumber);
856 if (mpz_divisible_p(nrnMapModul, dst->modNumber))
861 if (mpz_divisible_p(dst->modNumber,nrnMapModul))
863 mpz_divexact(
nrnMapCoef, dst->modNumber, nrnMapModul);
864 mpz_ptr tmp = dst->modNumber;
865 dst->modNumber = nrnMapModul;
868 dst->modNumber = tmp;
873 dst->modNumber = tmp;
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_VAR mpz_ptr nrnMapCoef
static FORCE_INLINE BOOLEAN nCoeff_is_Zp(const coeffs r)
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)
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)
number nrzReadFd(const ssiInfo *d, const coeffs)
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)
void nrzWriteFd(number n, const ssiInfo *d, const coeffs)
static number nrnSub(number a, number b, const coeffs r)
static coeffs nrnQuot1(number c, const coeffs r)
static number nrnGcd(number a, number b, const coeffs r)
#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)
EXTERN_VAR omBin gmp_nrz_bin
static FORCE_INLINE BOOLEAN nCoeff_is_Ring_PtoM(const 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)
static BOOLEAN nrnCoeffIsEqual(const coeffs r, n_coeffType n, void *parameter)
void nrnWrite(number a, const coeffs)
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
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)
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)
static BOOLEAN nrnEqual(number a, number b, const coeffs)
(), see rinteger.h, new impl.