8 static poly
p_SubstMon(poly
p,
int var, poly image,
const ring preimage_r,
const ring image_r,
const nMapFunc nMap,
matrix cache)
14 for(i=1;i<=preimage_r->N; i++)
45 if((image_r!=preimage_r)
59 poly q=
p_SubstMon(p,var,image,preimage_r,image_r,nMap,cache);
68 ideal
id_SubstPoly (ideal
id,
int var, poly image,
const ring preimage_r,
const ring image_r,
const nMapFunc nMap)
76 res->m[
k]=
p_SubstPoly(id->
m[k],var,image,preimage_r,image_r,nMap,cache);
poly maEvalVariable(poly p, int v, int pExp, ideal s, const ring dst_r)
static poly p_Mult_mm(poly p, poly m, const ring r)
poly p_NSet(number n, const ring r)
returns the poly representing the number n, destroys n
void sBucketDestroyAdd(sBucket_pt bucket, poly *p, int *length)
int maMaxDeg_Ma(ideal a, ring preimage_r)
void sBucket_Add_p(sBucket_pt bucket, poly p, int length)
adds poly p to bucket destroys p!
void WerrorS(const char *s)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
ideal id_SubstPoly(ideal id, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent : the integer VarOffset encodes:
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
sBucket_pt sBucketCreate(const ring r)
static unsigned pLength(poly a)
poly p_SubstPoly(poly p, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap, matrix cache)
matrix mpNew(int r, int c)
create a r x c zero-matrix
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent : VarOffset encodes the position in p->exp
int maMaxDeg_P(poly p, ring preimage_r)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static void p_Setm(poly p, const ring r)
static poly p_SubstMon(poly p, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap, matrix cache)
static void p_LmDelete(poly p, const ring r)
#define pCopy(p)
return a copy of the poly