1326{
1327#ifdef COUNT_AND_PRINT_OPERATIONS
1329 {
1330 multsPoly++;
1332 }
1334 {
1335 multsPoly++;
1337 }
1340 addsPoly++;
1341#endif
1347
1348
1349
1350
1352
1354 while (bucketLm !=
NULL)
1355 {
1356
1357
1358
1362
1363
1365#ifdef COUNT_AND_PRINT_OPERATIONS
1366 divsMon++;
1367 multsMonForDiv += p5Len;
1368 multsMon += p5Len;
1369 savedMultsMFD++;
1370 multsPoly++;
1371 multsPolyForDiv++;
1372 addsPoly++;
1373 addsPolyForDiv++;
1374#endif
1376
1377
1378
1379 helperPoly = bucketLm;
1380 helperPoly->next = p1;
1381 p1 = helperPoly;
1382
1384 }
1387}
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