 |
My Project
UNKNOWN_GIT_VERSION
|
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 57 of file rmodulon.cc.
60 const char start[]=
"ZZ/bigint(";
61 const int start_len=strlen(start);
62 if (strncmp(
s,start,start_len)==0)
71 while ((*
s!=
'\0') && (*
s!=
')'))
s++;
73 if (*
s==
'\0') { mpz_clear(z);
return NULL; }
74 if (((*
s)==
')') && (*(
s+1)==
'^'))
◆ nrnInitChar()
Definition at line 998 of file rmodulon.cc.
1003 r->modBase= (mpz_ptr)
nrnCopy((number)
info->base, r);
1011 r->ch = mpz_get_ui(r->modNumber);
1059 #if SI_INTEGER_VARIANT==2
1067 if ((r->modExponent==1)&&(
mpz_size1(r->modBase)==1))
1069 long p=mpz_get_si(r->modBase);
◆ nrnMapGMP()
Definition at line 731 of file rmodulon.cc.
736 mpz_mod(erg, (mpz_ptr)from, dst->modNumber);
◆ nrnSetMap()
Definition at line 814 of file rmodulon.cc.
835 && (mpz_cmp(src->modBase, dst->modBase) == 0)
836 && (src->modExponent == dst->modExponent))
return ndCopyMap;
843 mpz_init_set_si(nrnMapModul, src->ch);
847 mpz_init(nrnMapModul);
848 mpz_set(nrnMapModul, src->modNumber);
857 if (mpz_divisible_p(nrnMapModul, dst->modNumber))
862 if (mpz_divisible_p(dst->modNumber,nrnMapModul))
864 mpz_divexact(
nrnMapCoef, dst->modNumber, nrnMapModul);
865 mpz_ptr tmp = dst->modNumber;
866 dst->modNumber = nrnMapModul;
869 dst->modNumber = tmp;
874 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 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)
number nrzReadFd(const ssiInfo *d, const coeffs)
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)
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)
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)
void nrzWriteFd(number n, const ssiInfo *d, const coeffs)
#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)
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.