49 fprintf(stderr,
"\n// ***dPolyReportError: ");
50 vfprintf(stderr, fmt, ap);
51 fprintf(stderr,
"\n occurred at\n");
55 fprintf(stderr,
" occurred for poly: ");
73 #if (OM_TRACK > 0) && defined(OM_TRACK_CUSTOM) 74 void* custom = omGetCustomOfAddr(p);
83 "monomial not from specified ring",p,r);
168 if (p == m)
return TRUE;
195 poly d_p =
p_Init(dest_ring);
197 assume(dest_ring->N == src_ring->N);
199 for (i=1; i<= src_ring->N; i++)
215 if (level < 0 || p ==
NULL)
return TRUE;
264 long c1, cc1, ccc1, ec1;
268 if (o->
data.syzcomp.Components!=
NULL)
270 cc1 = o->
data.syzcomp.Components[c1];
271 ccc1 = o->
data.syzcomp.ShiftedComponents[cc1];
273 else { cc1=0; ccc1=0; }
276 ec1 = p->exp[o->
data.syzcomp.place];
280 dPolyReportError(p,r,
"Shifted comp out of sync. should %d, is %d",ccc1,ec1);
296 int cmp =
p_LmCmp(p_prev, p, r);
308 for (i=r->N; i>0; i--)
323 if (level < 0 || p ==
NULL)
return TRUE;
324 poly pnext =
pNext(p);
334 if (level < 0 || p ==
NULL)
return TRUE;
335 if (
pNext(p) ==
NULL || lmRing == tailRing)
return _p_Test(p, lmRing, level);
345 poly pnext =
pNext(lm);
359 #if defined(PDEBUG) || defined(PDIV_DEBUG) 365 poly p2,
unsigned long not_sev_2, ring r_2)
378 if (sev_1 & not_sev_2)
388 poly p2,
unsigned long not_sev_2, ring r_2)
402 if (sev_1 & not_sev_2)
413 Print(
"#Tests: %ld; #FALSE %ld(%ld); #SHORT %ld(%ld)\n",
void p_Setm_General(poly p, ring r)
static poly p_DebugInit(poly p, ring src_ring, ring dest_ring)
BOOLEAN pDebugLmShortDivisibleByNoComp(poly p1, unsigned long sev_1, ring r_1, poly p2, unsigned long not_sev_2, ring r_2)
static BOOLEAN p_LmDivisibleByNoComp(poly a, poly b, const ring r)
BOOLEAN p_LmCheckPolyRing(poly p, ring r)
static unsigned long pDivisibleBy_FALSE
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
#define omTestList(ptr, level)
BOOLEAN p_DebugLmDivisibleByNoComp(poly a, poly b, ring r)
static FORCE_INLINE int n_GetChar(const coeffs r)
Return the characteristic of the coeff. domain.
BOOLEAN pHaveCommonMonoms(poly p, poly q)
#define pAssumeReturn(cond)
static unsigned long pDivisibleBy_number
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
BOOLEAN dPolyReportError(poly p, ring r, const char *fmt,...)
#define _pPolyAssumeReturn(cond, p, r)
static void p_LmFree(poly p, ring)
#define omTestBinAddrSize(A, B, C)
BOOLEAN _p_LmTest(poly p, ring r, int level)
#define pFalseReturn(cond)
BOOLEAN p_LmCheckIsFromRing(poly p, ring r)
Coefficient rings, fields and other domains suitable for Singular polynomials.
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent : the integer VarOffset encodes:
BOOLEAN pIsMonomOf(poly p, poly m)
static FORCE_INLINE BOOLEAN n_DivBy(number a, number b, const coeffs r)
test whether 'a' is divisible 'b'; for r encoding a field: TRUE iff 'b' does not represent zero in Z:...
static BOOLEAN d_poly_error_reporting
#define n_Test(a, r)
BOOLEAN n_Test(number a, const coeffs r)
static int p_LmCmp(poly p, poly q, const ring r)
BOOLEAN rSamePolyRep(ring r1, ring r2)
returns TRUE, if r1 and r2 represents the monomials in the same way FALSE, otherwise this is an analo...
static unsigned long pDivisibleBy_ShortFalse
#define omPrintAddrInfo(A, B, C)
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
static BOOLEAN p_LmDivisibleBy(poly a, poly b, const ring r)
#define _pPolyAssume(cond, p, r)
#define rRing_has_Comp(r)
unsigned long p_GetShortExpVector(const poly p, const ring r)
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
BOOLEAN p_CheckRing(ring r)
BOOLEAN p_CheckPolyRing(poly p, ring r)
#define omPrintCurrentBackTraceMax(A, B)
#define omIsBinPageAddr(addr)
#define omSizeWOfBin(bin_ptr)
#define pPolyAssumeReturnMsg(cond, msg)
void pPrintDivisbleByStat()
int dReportError(const char *fmt,...)
void p_wrp(poly p, ring lmRing, ring tailRing)
BOOLEAN _p_Test(poly p, ring r, int level)
static BOOLEAN p_ExpVectorEqual(poly p1, poly p2, const ring r1, const ring r2)
static poly p_Init(const ring r, omBin bin)
#define _pPolyAssumeReturnMsg(cond, msg, p, r)
BOOLEAN pDebugLmShortDivisibleBy(poly p1, unsigned long sev_1, ring r_1, poly p2, unsigned long not_sev_2, ring r_2)
BOOLEAN p_CheckIsFromRing(poly p, ring r)
BOOLEAN _pp_Test(poly p, ring lmRing, ring tailRing, int level)