1323{
1324#ifdef COUNT_AND_PRINT_OPERATIONS
1326 {
1327 multsPoly++;
1329 }
1331 {
1332 multsPoly++;
1334 }
1337 addsPoly++;
1338#endif
1344
1345
1346
1347
1349
1351 while (bucketLm !=
NULL)
1352 {
1353
1354
1355
1359
1360
1362#ifdef COUNT_AND_PRINT_OPERATIONS
1363 divsMon++;
1364 multsMonForDiv += p5Len;
1365 multsMon += p5Len;
1366 savedMultsMFD++;
1367 multsPoly++;
1368 multsPolyForDiv++;
1369 addsPoly++;
1370 addsPolyForDiv++;
1371#endif
1373
1374
1375
1376 helperPoly = bucketLm;
1377 helperPoly->next = p1;
1378 p1 = helperPoly;
1379
1381 }
1384}
static void addOperationBucket(poly f1, poly f2, kBucket_pt bucket)
void kBucket_Minus_m_Mult_p(kBucket_pt bucket, poly m, poly p, int *l, poly spNoether)
Bpoly == Bpoly - m*p; where m is a monom Does not destroy p and m assume (*l <= 0 || pLength(p) == *l...
void kBucketDestroy(kBucket_pt *bucket_pt)
kBucket_pt kBucketCreate(const ring bucket_ring)
Creation/Destruction of buckets.
const poly kBucketGetLm(kBucket_pt bucket)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
static void p_ExpVectorSub(poly p1, poly p2, const ring r)
static poly pReverse(poly p)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
#define pSetCoeff(p, n)
deletes old coeff before setting the new one
#define pCopy(p)
return a copy of the poly