- Timestamp:
- Aug 29, 2022, 3:45:05 PM (20 months ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 295424033ae789da33cc0fe7c27571815b5ce280
- Parents:
- cacb13f363f9ecf08a35d85136d1a5f52bcc974f
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2022-08-29 15:45:05+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2022-08-29 15:50:42+02:00
- Location:
- libpolys/polys
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/polys/kbuckets.cc
rcacb13 rac5926 1081 1081 // 1082 1082 1083 extern int ksCheckCoeff(number *a, number *b);1084 1085 1083 number kBucketPolyRed(kBucket_pt bucket, 1086 1084 poly p1, int l1, … … 1428 1426 * 3 -> a == 1, b == 1 1429 1427 * this value is used to control the spolys 1428 * reduce is set inside "NF" -> a should be 1 1430 1429 */ 1431 int ksCheckCoeff(number *a, number *b, const coeffs r )1430 int ksCheckCoeff(number *a, number *b, const coeffs r, BOOLEAN reduce) 1432 1431 { 1433 1432 int c = 0; … … 1438 1437 number cn; 1439 1438 1440 if (nCoeff_is_Ring(r) 1441 && n_DivBy(an,bn,r)) 1442 { 1443 cn=n_Copy(bn,r); 1439 if (nCoeff_is_Ring(r)) 1440 { 1441 if (n_Equal(an,bn,r)) 1442 { 1443 *a=n_Init(1,r); 1444 *b=n_Init(1,r); 1445 return 3; 1446 } 1447 else if(redtail) 1448 { 1449 an = n_Init(1,r); 1450 bn = n_ExactDiv(bn, an, r); 1451 } 1452 else 1453 { 1454 cn = n_SubringGcd(an, bn, r); 1455 if(n_IsOne(cn, r)) 1456 { 1457 an = n_Copy(an, r); 1458 bn = n_Copy(bn, r); 1459 } 1460 else 1461 { 1462 an = n_ExactDiv(an, cn, r); 1463 bn = n_ExactDiv(bn, cn, r); 1464 } 1465 n_Delete(&cn, r); 1466 } 1444 1467 } 1445 1468 else 1446 1469 { 1447 1470 cn = n_SubringGcd(an, bn, r); 1448 }1449 if(n_IsOne(cn, r))1450 {1451 an = n_Copy(an, r);1452 bn = n_Copy(bn, r);1453 }1454 else1455 {1456 an = n_ExactDiv(an, cn, r);1457 bn = n_ExactDiv(bn, cn, r);1458 }1459 n_Delete(&cn, r);1471 if(n_IsOne(cn, r)) 1472 { 1473 an = n_Copy(an, r); 1474 bn = n_Copy(bn, r); 1475 } 1476 else 1477 { 1478 an = n_ExactDiv(an, cn, r); 1479 bn = n_ExactDiv(bn, cn, r); 1480 } 1481 n_Delete(&cn, r); 1482 } 1460 1483 if (n_IsOne(an, r)) 1461 1484 { -
libpolys/polys/kbuckets.h
rcacb13 rac5926 244 244 void kBucketSimpleContent(kBucket_pt bucket); 245 245 BOOLEAN kBucketIsCleared(kBucket_pt bucket); 246 int ksCheckCoeff(number *a, number *b, const coeffs r );246 int ksCheckCoeff(number *a, number *b, const coeffs r, BOOLEAN reduce=FALSE); 247 247 #endif /* KBUCKETS_H */
Note: See TracChangeset
for help on using the changeset viewer.