Changeset e10683 in git for Singular/polys.h
- Timestamp:
- Nov 30, 2000, 5:46:09 PM (23 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 379305282702a4d34d62437d3dfe5bf09925c710
- Parents:
- 50268a871f223956bed4c2b84352e38f543a574b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/polys.h
r50268a re10683 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: polys.h,v 1.4 7 2000-11-23 17:40:02Singular Exp $ */6 /* $Id: polys.h,v 1.48 2000-11-30 16:46:08 Singular Exp $ */ 7 7 /* 8 8 * ABSTRACT - all basic methods to manipulate polynomials of the … … 20 20 - debugging only if PDEBUG >= 2 21 21 - normally inlined, unless PDEBUG >= 2 || NO_INLINE2 22 Level 1: operations on monomials with time proportional to length 22 Level 1: operations on monomials with time proportional to length 23 23 - implemented in: pInline1.h 24 24 - debugging only if PDEBUG >= 1 25 - normally inlined, unless PDEBUG >= 1 || NO_INLINE1 25 - normally inlined, unless PDEBUG >= 1 || NO_INLINE1 26 26 Level 0: short operations on polynomials with time proportional to 27 27 length of poly … … 31 31 #define DO_PINLINE0 32 32 #include "pInline0.h" 33 Misc : operations on polynomials which do not fit in any of the 33 Misc : operations on polynomials which do not fit in any of the 34 34 above categories 35 35 - implemented in: polys*.cc … … 42 42 However, PDEBUG will only be in effect, if !NDEBUG. 43 43 44 All p_* operations take as last argument a ring 45 and are ring independent. Their corresponding p* operations are usually 44 All p_* operations take as last argument a ring 45 and are ring independent. Their corresponding p* operations are usually 46 46 just macros to the respective p_*(..,currRing). 47 47 … … 62 62 #define pSetOrder(p, o) p_SetOrder(p, o, currRing) 63 63 64 // Component 64 // Component 65 65 #define pGetComp(p) _p_GetComp(p, currRing) 66 66 #define pSetComp(p,v) p_SetComp(p,v, currRing) … … 83 83 /*************************************************************** 84 84 * 85 * Allocation/Initalization/Deletion 85 * Allocation/Initalization/Deletion 86 86 * except for pDeleteLm and pHead, all polys must be != NULL 87 87 * … … 91 91 // allocates a new monomial and initializes everything to 0 92 92 #define pInit() p_Init(currRing) 93 // like pInit, except that expvector is initialized to that of p, 93 // like pInit, except that expvector is initialized to that of p, 94 94 // p must be != NULL 95 95 #define pLmInit(p) p_LmInit(p, currRing) 96 // returns newly allocated copy of Lm(p), coef is copied, next=NULL, 96 // returns newly allocated copy of Lm(p), coef is copied, next=NULL, 97 97 // p might be NULL 98 98 #define pHead(p) p_Head(p, currRing) 99 // if *p_ptr != NULL, delete p_ptr->coef, *p_ptr, and set *p_ptr to 99 // if *p_ptr != NULL, delete p_ptr->coef, *p_ptr, and set *p_ptr to 100 100 // pNext(*p_ptr) 101 101 static inline void pDeleteLm(poly *p) {p_DeleteLm(p, currRing);} … … 155 155 #define pCmp(p1, p2) p_Cmp(p1, p2, currRing) 156 156 157 158 /*************************************************************** 159 * 160 * Divisiblity tests, args must be != NULL, except for 157 158 /*************************************************************** 159 * 160 * Divisiblity tests, args must be != NULL, except for 161 161 * pDivisbleBy 162 162 * 163 163 ***************************************************************/ 164 164 // returns TRUE, if leading monom of a divides leading monom of b 165 // i.e., if there exists a expvector c > 0, s.t. b = a + c; 165 // i.e., if there exists a expvector c > 0, s.t. b = a + c; 166 166 #define pDivisibleBy(a, b) p_DivisibleBy(a,b,currRing) 167 167 // like pDivisibleBy, except that it is assumed that a!=NULL, b!=NULL … … 282 282 283 283 284 poly pmInit(char *s, BOOLEAN &ok); /* monom -> poly */ 284 poly pmInit(char *s, BOOLEAN &ok); /* monom -> poly, interpreter */ 285 char * p_Read(char *s, poly &p, ring r); /* monom -> poly */ 285 286 void ppDelete(poly * a, ring r); 286 287 … … 301 302 int pMaxCompProc(poly p); 302 303 303 #define pOneComp(p) p_OneComp(p, currRing) 304 #define pOneComp(p) p_OneComp(p, currRing) 304 305 #define pSetCompP(a,i) p_SetCompP(a, i, currRing) 305 306
Note: See TracChangeset
for help on using the changeset viewer.