49 fprintf(stderr,
"\n// ***dPolyReportError: ");
50 vfprintf(stderr, fmt,
ap);
51 fprintf(stderr,
"\n occurred at\n");
57 fprintf(stderr,
" occurred for poly: ");
75 #if (OM_TRACK > 0) && defined(OM_TRACK_CUSTOM)
76 void* custom = omGetCustomOfAddr(
p);
85 "monomial not from specified ring",
p,r);
197 poly d_p =
p_Init(dest_ring);
199 assume(dest_ring->N == src_ring->N);
201 for (
i=1;
i<= src_ring->N;
i++)
266 long c1, cc1, ccc1, ec1;
270 if (o->
data.syzcomp.Components!=
NULL)
272 cc1 = o->
data.syzcomp.Components[c1];
273 ccc1 = o->
data.syzcomp.ShiftedComponents[cc1];
275 else { cc1=0; ccc1=0; }
278 ec1 =
p->exp[o->
data.syzcomp.place];
310 for (
i=r->N;
i>0;
i--)
347 poly pnext =
pNext(lm);
361#if defined(PDEBUG) || defined(PDIV_DEBUG)
367 poly p2,
unsigned long not_sev_2, ring r_2)
380 if (sev_1 & not_sev_2)
390 poly p2,
unsigned long not_sev_2, ring r_2)
404 if (sev_1 & not_sev_2)
415 Print(
"#Tests: %ld; #FALSE %ld(%ld); #SHORT %ld(%ld)\n",
Coefficient rings, fields and other domains suitable for Singular polynomials.
#define n_Test(a, r)
BOOLEAN n_Test(number a, const coeffs r)
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
static FORCE_INLINE int n_GetChar(const coeffs r)
Return the characteristic of the coeff. domain.
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:...
int dReportError(const char *fmt,...)
#define pPolyAssumeReturnMsg(cond, msg)
#define pFalseReturn(cond)
#define _pPolyAssume(cond, p, r)
#define pAssumeReturn(cond)
#define _pPolyAssumeReturnMsg(cond, msg, p, r)
#define _pPolyAssumeReturn(cond, p, r)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
#define rRing_has_Comp(r)
#define omSizeWOfBin(bin_ptr)
#define omIsBinPageAddr(addr)
#define omTestList(ptr, level)
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)
BOOLEAN pIsMonomOf(poly p, poly m)
BOOLEAN p_LmCheckPolyRing(poly p, ring r)
BOOLEAN _p_Test(poly p, ring r, int level)
BOOLEAN p_CheckIsFromRing(poly p, ring r)
void p_Setm_General(poly p, ring r)
BOOLEAN pDebugLmShortDivisibleBy(poly p1, unsigned long sev_1, ring r_1, poly p2, unsigned long not_sev_2, ring r_2)
BOOLEAN p_DebugLmDivisibleByNoComp(poly a, poly b, ring r)
STATIC_VAR BOOLEAN d_poly_error_reporting
BOOLEAN _p_LmTest(poly p, ring r, int level)
STATIC_VAR unsigned long pDivisibleBy_number
STATIC_VAR unsigned long pDivisibleBy_ShortFalse
BOOLEAN dPolyReportError(poly p, ring r, const char *fmt,...)
STATIC_VAR unsigned long pDivisibleBy_FALSE
BOOLEAN p_CheckRing(ring r)
BOOLEAN p_LmCheckIsFromRing(poly p, ring r)
void pPrintDivisbleByStat()
BOOLEAN p_CheckPolyRing(poly p, ring r)
BOOLEAN pHaveCommonMonoms(poly p, poly q)
BOOLEAN _pp_Test(poly p, ring lmRing, ring tailRing, int level)
static BOOLEAN p_ExpVectorEqual(poly p1, poly p2, const ring r1, const ring r2)
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 @Note: VarOffset encodes the position in p->exp
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
static int p_LmCmp(poly p, poly q, const ring r)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
static BOOLEAN p_LmDivisibleByNoComp(poly a, poly b, const ring r)
static BOOLEAN p_LmDivisibleBy(poly a, poly b, const ring r)
static void p_LmFree(poly p, ring)
static poly p_Init(const ring r, omBin bin)
void p_wrp(poly p, ring lmRing, ring tailRing)
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...
#define omTestBinAddrSize(A, B, C)
#define omPrintAddrInfo(A, B, C)
#define omPrintCurrentBackTraceMax(A, B)