My Project  debian-1:4.1.1-p2+ds-4build3
Data Structures | Macros | Functions
monomials.h File Reference
#include "omalloc/omalloc.h"
#include "reporter/reporter.h"

Go to the source code of this file.

Data Structures

struct  poly
 

Macros

#define pNext(p)   ((p)->next)
 
#define pIter(p)   (void)((p) = (p)->next)
 
#define p_GetCoeff(p, r)   pGetCoeff(p)
 
#define pSetCoeff0(p, n)   (p)->coef=(n)
 
#define p_SetCoeff0(p, n, r)   pSetCoeff0(p,n)
 
#define __p_GetComp(p, r)   (p)->exp[r->pCompIndex]
 
#define p_GetComp(p, r)   ((long) (r->pCompIndex >= 0 ? __p_GetComp(p, r) : 0))
 
#define pAssumeReturn(cond)
 
#define pAssume(cond)
 
#define _pPolyAssumeReturn(cond, p, r)
 
#define _pPolyAssume(cond, p, r)
 
#define _pPolyAssumeReturnMsg(cond, msg, p, r)
 
#define pPolyAssume(cond)   _pPolyAssume(cond, p, r)
 
#define pPolyAssumeReturn(cond)   _pPolyAssumeReturn(cond, p, r)
 
#define pPolyAssumeReturnMsg(cond, msg)   _pPolyAssumeReturnMsg(cond, msg, p, r)
 
#define pFalseReturn(cond)   do {if (! (cond)) return FALSE;} while (0)
 
#define p_SetRingOfLm(p, r)   do {} while (0)
 
#define pAssume1(cond)   do {} while (0)
 
#define pPolyAssume1(cond)   do {} while (0)
 
#define _pPolyAssume1(cond, p, r)   do {} while (0)
 
#define pAssumeReturn1(cond)   do {} while (0)
 
#define pPolyAssumeReturn1(cond)   do {} while (0)
 
#define _pPolyAssumeReturn1(cond, p, r)   do {} while (0)
 
#define p_LmCheckPolyRing1(p, r)   do {} while (0)
 
#define p_CheckRing1(r)   do {} while (0)
 
#define pIfThen1(cond, check)   do {} while (0)
 
#define pAssume2(cond)   do {} while (0)
 
#define pPolyAssume2(cond)   do {} while (0)
 
#define _pPolyAssume2(cond, p, r)   do {} while (0)
 
#define pAssumeReturn2(cond)   do {} while (0)
 
#define pPolyAssumeReturn2(cond)   do {} while (0)
 
#define _pPolyAssumeReturn2(cond, p, r)   do {} while (0)
 
#define p_LmCheckPolyRing2(p, r)   do {} while (0)
 
#define p_CheckRing2(r)   do {} while (0)
 
#define pIfThen2(cond, check)   do {} while (0)
 
#define p_AllocBin(p, bin, r)
 
#define p_FreeBinAddr(p, r)   p_LmFree(p, r)
 
#define POLYSIZE   (sizeof(poly) + sizeof(number))
 
#define POLYSIZEW   (POLYSIZE / sizeof(long))
 
#define POLY_NEGWEIGHT_OFFSET   (((long)0x80000000) << 32)
 
#define p_AllocBin(p, bin, r)
 
#define p_FreeBinAddr(p, r)   p_LmFree(p, r)
 
#define rRing_has_Comp(r)   (r->pCompIndex >= 0)
 

Functions

static number & pGetCoeff (poly p)
 return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy More...
 
BOOLEAN dPolyReportError (poly p, ring r, const char *fmt,...)
 

Data Structure Documentation

◆ spolyrec

struct spolyrec

Definition at line 29 of file monomials.h.

Data Fields
number coef
unsigned long exp[1]
poly next

Macro Definition Documentation

◆ __p_GetComp

#define __p_GetComp (   p,
 
)    (p)->exp[r->pCompIndex]

Definition at line 71 of file monomials.h.

◆ _pPolyAssume

#define _pPolyAssume (   cond,
  p,
 
)
Value:
do \
{ \
if (! (cond)) \
{ \
dPolyReportError(p, r, "pPolyAssume violation of: %s", \
#cond); \
} \
} \
while (0)

Definition at line 121 of file monomials.h.

◆ _pPolyAssume1

#define _pPolyAssume1 (   cond,
  p,
 
)    do {} while (0)

Definition at line 181 of file monomials.h.

◆ _pPolyAssume2

#define _pPolyAssume2 (   cond,
  p,
 
)    do {} while (0)

Definition at line 203 of file monomials.h.

◆ _pPolyAssumeReturn

#define _pPolyAssumeReturn (   cond,
  p,
 
)
Value:
do \
{ \
if (! (cond)) \
{ \
dPolyReportError(p, r, "pPolyAssume violation of: %s", \
#cond); \
return FALSE; \
} \
} \
while (0)

Definition at line 109 of file monomials.h.

◆ _pPolyAssumeReturn1

#define _pPolyAssumeReturn1 (   cond,
  p,
 
)    do {} while (0)

Definition at line 184 of file monomials.h.

◆ _pPolyAssumeReturn2

#define _pPolyAssumeReturn2 (   cond,
  p,
 
)    do {} while (0)

Definition at line 206 of file monomials.h.

◆ _pPolyAssumeReturnMsg

#define _pPolyAssumeReturnMsg (   cond,
  msg,
  p,
 
)
Value:
do \
{ \
if (! (cond)) \
{ \
dPolyReportError(p, r, "%s ", msg); \
return FALSE; \
} \
} \
while (0)

Definition at line 132 of file monomials.h.

◆ p_AllocBin [1/2]

#define p_AllocBin (   p,
  bin,
 
)
Value:
do \
{ \
omTypeAllocBin(poly, p, bin); \
p_SetRingOfLm(p, r); \
} \
while (0)

Definition at line 256 of file monomials.h.

◆ p_AllocBin [2/2]

#define p_AllocBin (   p,
  bin,
 
)
Value:
do \
{ \
omTypeAllocBin(poly, p, bin); \
p_SetRingOfLm(p, r); \
} \
while (0)

Definition at line 256 of file monomials.h.

◆ p_CheckRing1

#define p_CheckRing1 (   r)    do {} while (0)

Definition at line 186 of file monomials.h.

◆ p_CheckRing2

#define p_CheckRing2 (   r)    do {} while (0)

Definition at line 208 of file monomials.h.

◆ p_FreeBinAddr [1/2]

#define p_FreeBinAddr (   p,
 
)    p_LmFree(p, r)

Definition at line 263 of file monomials.h.

◆ p_FreeBinAddr [2/2]

#define p_FreeBinAddr (   p,
 
)    p_LmFree(p, r)

Definition at line 263 of file monomials.h.

◆ p_GetCoeff

#define p_GetCoeff (   p,
 
)    pGetCoeff(p)

Definition at line 58 of file monomials.h.

◆ p_GetComp

#define p_GetComp (   p,
 
)    ((long) (r->pCompIndex >= 0 ? __p_GetComp(p, r) : 0))

Definition at line 72 of file monomials.h.

◆ p_LmCheckPolyRing1

#define p_LmCheckPolyRing1 (   p,
 
)    do {} while (0)

Definition at line 185 of file monomials.h.

◆ p_LmCheckPolyRing2

#define p_LmCheckPolyRing2 (   p,
 
)    do {} while (0)

Definition at line 207 of file monomials.h.

◆ p_SetCoeff0

#define p_SetCoeff0 (   p,
  n,
 
)    pSetCoeff0(p,n)

Definition at line 68 of file monomials.h.

◆ p_SetRingOfLm

#define p_SetRingOfLm (   p,
 
)    do {} while (0)

Definition at line 152 of file monomials.h.

◆ pAssume

#define pAssume (   cond)
Value:
do \
{ \
if (! (cond)) \
{ \
dPolyReportError(NULL, NULL, "pAssume violation of: %s", \
#cond); \
} \
} \
while (0)

Definition at line 98 of file monomials.h.

◆ pAssume1

#define pAssume1 (   cond)    do {} while (0)

Definition at line 179 of file monomials.h.

◆ pAssume2

#define pAssume2 (   cond)    do {} while (0)

Definition at line 201 of file monomials.h.

◆ pAssumeReturn

#define pAssumeReturn (   cond)
Value:
do \
{ \
if (! (cond)) \
{ \
dPolyReportError(NULL, NULL, "pAssume violation of: %s", \
#cond); \
return FALSE; \
} \
} \
while (0)

Definition at line 86 of file monomials.h.

◆ pAssumeReturn1

#define pAssumeReturn1 (   cond)    do {} while (0)

Definition at line 182 of file monomials.h.

◆ pAssumeReturn2

#define pAssumeReturn2 (   cond)    do {} while (0)

Definition at line 204 of file monomials.h.

◆ pFalseReturn

#define pFalseReturn (   cond)    do {if (! (cond)) return FALSE;} while (0)

Definition at line 147 of file monomials.h.

◆ pIfThen1

#define pIfThen1 (   cond,
  check 
)    do {} while (0)

Definition at line 187 of file monomials.h.

◆ pIfThen2

#define pIfThen2 (   cond,
  check 
)    do {} while (0)

Definition at line 209 of file monomials.h.

◆ pIter

#define pIter (   p)    (void)((p) = (p)->next)

Definition at line 45 of file monomials.h.

◆ pNext

#define pNext (   p)    ((p)->next)

Definition at line 44 of file monomials.h.

◆ POLY_NEGWEIGHT_OFFSET

#define POLY_NEGWEIGHT_OFFSET   (((long)0x80000000) << 32)

Definition at line 244 of file monomials.h.

◆ POLYSIZE

#define POLYSIZE   (sizeof(poly) + sizeof(number))

Definition at line 241 of file monomials.h.

◆ POLYSIZEW

#define POLYSIZEW   (POLYSIZE / sizeof(long))

Definition at line 242 of file monomials.h.

◆ pPolyAssume

#define pPolyAssume (   cond)    _pPolyAssume(cond, p, r)

Definition at line 143 of file monomials.h.

◆ pPolyAssume1

#define pPolyAssume1 (   cond)    do {} while (0)

Definition at line 180 of file monomials.h.

◆ pPolyAssume2

#define pPolyAssume2 (   cond)    do {} while (0)

Definition at line 202 of file monomials.h.

◆ pPolyAssumeReturn

#define pPolyAssumeReturn (   cond)    _pPolyAssumeReturn(cond, p, r)

Definition at line 144 of file monomials.h.

◆ pPolyAssumeReturn1

#define pPolyAssumeReturn1 (   cond)    do {} while (0)

Definition at line 183 of file monomials.h.

◆ pPolyAssumeReturn2

#define pPolyAssumeReturn2 (   cond)    do {} while (0)

Definition at line 205 of file monomials.h.

◆ pPolyAssumeReturnMsg

#define pPolyAssumeReturnMsg (   cond,
  msg 
)    _pPolyAssumeReturnMsg(cond, msg, p, r)

Definition at line 145 of file monomials.h.

◆ pSetCoeff0

#define pSetCoeff0 (   p,
 
)    (p)->coef=(n)

Definition at line 67 of file monomials.h.

◆ rRing_has_Comp

#define rRing_has_Comp (   r)    (r->pCompIndex >= 0)

Definition at line 274 of file monomials.h.

Function Documentation

◆ dPolyReportError()

BOOLEAN dPolyReportError ( poly  p,
ring  r,
const char *  fmt,
  ... 
)

Definition at line 44 of file pDebug.cc.

45 {
46  if (d_poly_error_reporting) return FALSE;
48  va_list ap;
49  va_start(ap, fmt);
50 
51  fprintf(stderr, "\n// ***dPolyReportError: ");
52  vfprintf(stderr, fmt, ap);
53  fprintf(stderr, "\n occurred at\n");
54  omPrintCurrentBackTraceMax(stderr, 8);
55  if (p != NULL)
56  {
57  fprintf(stderr, " occurred for poly: ");
58  p_wrp(p, r);
59  omPrintAddrInfo(stderr, p, " ");
60  }
61  dErrorBreak();
63  return FALSE;
64 }

◆ pGetCoeff()

static number& pGetCoeff ( poly  p)
inlinestatic

return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy

Definition at line 51 of file monomials.h.

52 {
53  assume(p != NULL);
54  return p->coef;
55 }
FALSE
#define FALSE
Definition: auxiliary.h:94
dErrorBreak
void dErrorBreak()
Definition: dError.cc:141
p_wrp
void p_wrp(poly p, ring lmRing, ring tailRing)
Definition: polys0.cc:235
ap
Definition: ap.h:40
TRUE
#define TRUE
Definition: auxiliary.h:98
d_poly_error_reporting
static BOOLEAN d_poly_error_reporting
Definition: pDebug.cc:43
assume
#define assume(x)
Definition: mod2.h:390
NULL
#define NULL
Definition: omList.c:10
p
int p
Definition: cfModGcd.cc:4019
omPrintCurrentBackTraceMax
int omPrintCurrentBackTraceMax(FILE *fd, int max)
Definition: omRet2Info.c:165
omPrintAddrInfo
void omPrintAddrInfo(FILE *fd, void *addr, const char *s)
Definition: omDebugCheck.c:453