51 fprintf(stderr,
"\n// ***dPolyReportError: ");
52 vfprintf(stderr, fmt, ap);
53 fprintf(stderr,
"\n occured at\n");
57 fprintf(stderr,
" occured for poly: ");
75 #if (OM_TRACK > 0) && defined(OM_TRACK_CUSTOM)
76 void* custom = omGetCustomOfAddr(p);
85 "monomial not from specified ring",p,r);
169 if (p == m)
return TRUE;
198 assume(dest_ring->N == src_ring->N);
200 for (i=1; i<= src_ring->N; i++)
216 if (level < 0 || p ==
NULL)
return TRUE;
265 long c1, cc1, ccc1, ec1;
269 if (o->
data.syzcomp.Components!=
NULL)
271 cc1 = o->
data.syzcomp.Components[c1];
272 ccc1 = o->
data.syzcomp.ShiftedComponents[cc1];
274 else { cc1=0; ccc1=0; }
277 ec1 = p->exp[o->
data.syzcomp.place];
281 dPolyReportError(p,r,
"Shifted comp out of sync. should %d, is %d",ccc1,ec1);
297 int cmp =
p_LmCmp(p_prev, p, r);
309 for (i=r->N; i>0; i--)
324 if (level < 0 || p ==
NULL)
return TRUE;
335 if (level < 0 || p ==
NULL)
return TRUE;
336 if (
pNext(p) ==
NULL || lmRing == tailRing)
return _p_Test(p, lmRing, level);
360 #if defined(PDEBUG) || defined(PDIV_DEBUG)
366 poly p2,
unsigned long not_sev_2, ring r_2)
379 if (sev_1 & not_sev_2)
389 poly p2,
unsigned long not_sev_2, ring r_2)
403 if (sev_1 & not_sev_2)
414 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)
BEGIN_NAMESPACE_SINGULARXX const ring lmRing
int omPrintCurrentBackTraceMax(FILE *fd, int max)
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)
BEGIN_NAMESPACE_SINGULARXX const ring const ring tailRing
omError_t omTestBinAddrSize(void *addr, size_t size, int check_level)
static FORCE_INLINE int n_GetChar(const coeffs r)
Return the characteristic of the coeff. domain.
BOOLEAN pHaveCommonMonoms(poly p, poly q)
size_t omSizeWOfAddr(void *addr)
#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)
BOOLEAN _p_LmTest(poly p, ring r, int level)
#define pFalseReturn(cond)
void omPrintAddrInfo(FILE *fd, void *addr, const char *s)
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
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 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)