39 #define freeT(A,v) omFreeSize((ADDRESS)A,(v+1)*sizeof(int)) 51 if (p==
NULL)
return(p);
58 if (sh == 0)
return(p);
85 if (sh == 0)
return(p);
104 if (sh == 0)
return(p);
110 int *e=(
int *)
omAlloc0((r->N+1)*
sizeof(int));
111 int *
s=(
int *)
omAlloc0((r->N+1)*
sizeof(int));
117 for (j=1; j<= L*lV ; j++)
122 assume(j + (sh*lV)<=r->N);
123 s[j + (sh*lV)] = e[j];
184 int *e=(
int *)
omAlloc0((r->N+1)*
sizeof(int));
188 while ( (!e[j]) && (j>=1) ) j--;
191 b = (int)((j+lV-1)/lV);
225 while ( (!e[j]) && (j<=currRing->
N-1) ) j++;
229 PrintS(
"pmFirstVblock: unexpected zero exponent vector\n");
245 if (lV <= 0)
return(0);
252 int *
B = (
int *)
omAlloc0((b+1)*
sizeof(int));
259 for (i=(j-1)*lV + 1; i<= j*lV; i++)
261 if (e[i]) B[
j] = B[
j]+1;
273 if (j==0)
goto ret_true;
313 for(i = 0; i <=
s; i++)
354 if (p==
NULL)
return(p);
380 if (p==
NULL)
return(p);
401 int *e = (
int *)
omAlloc0((r->N+1)*
sizeof(int));
402 int b = (int)((r->N +lV-1)/lV);
404 int *S = (
int *)
omAlloc0((r->N+1)*
sizeof(int));
406 int i,
j;
int cnt = 1;
411 for (i=(j-1)*lV + 1; i<= j*lV; i++)
416 S[(cnt-1)*lV + (i - (j-1)*lV)] = e[i];
int p_mLastVblock(poly p, int lV, const ring r)
const CanonicalForm int s
int itoInsert(poly p, int uptodeg, int lV, const ring r)
BOOLEAN p_LmCheckIsFromRing(poly p, ring r)
static int si_min(const int a, const int b)
Compatiblity layer for legacy polynomial operations (over currRing)
poly p_ShrinkT(poly p, int lV, kStrategy strat, const ring r)
int poly_isInV(poly p, int lV)
int ideal_isInV(ideal I, int lV)
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
static void p_GetExpV(poly p, int *ev, const ring r)
poly p_mShrink(poly p, int lV, const ring r)
static number p_SetCoeff(poly p, number n, ring r)
static void p_SetExpV(poly p, int *ev, const ring r)
static BOOLEAN p_LmIsConstant(const poly p, const ring r)
poly p_LPshift(poly p, int sh, int uptodeg, int lV, const ring r)
poly p_Shrink(poly p, int lV, const ring r)
int p_LastVblockT(poly p, int lV, kStrategy strat, const ring r)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static poly p_Head(poly p, const ring r)
const CanonicalForm CFMap CFMap & N
static long pTotaldegree(poly p)
static int si_max(const int a, const int b)
void PrintS(const char *s)
int isInV(poly p, int lV)
int pFirstVblock(poly p, int lV)
poly p_LPshiftT(poly p, int sh, int uptodeg, int lV, kStrategy strat, const ring r)
BOOLEAN p_CheckIsFromRing(poly p, ring r)
#define pGetExpV(p, e)
Gets a copy of (resp. set) the exponent vector, where e is assumed to point to (r->N +1)*sizeof(long)...
poly p_mLPshift(poly p, int sh, int uptodeg, int lV, const ring r)
#define pIsConstantPoly(p)
return TRUE if all monomials of p are constant
int p_LastVblock(poly p, int lV, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)
int pmFirstVblock(poly p, int lV)