Changeset cdec33 in git for kernel/longtrans.cc
- Timestamp:
- Apr 7, 2011, 4:33:45 PM (12 years ago)
- Branches:
- (u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
- Children:
- c0b2e03243dcc8b84e3afb3a38cac55b6bb590c8
- Parents:
- 73624c6eb72939321ed403d522f0f94a290bca1a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/longtrans.cc
r73624c6 rcdec33 48 48 BOOLEAN (*nacIsOne)(number a); 49 49 BOOLEAN (*nacGreaterZero)(number a); 50 BOOLEAN (*nacGreater)(number a, number b); 50 51 number (*nacMap)(number); 51 52 … … 102 103 nacIsZero = nacRing->cf->nIsZero; 103 104 nacGreaterZero = nacRing->cf->nGreaterZero; 105 nacGreater = nacRing->cf->nGreater; 104 106 nacIsOne = nacRing->cf->nIsOne; 105 107 nacGcd = nacRing->cf->nGcd; … … 1574 1576 } 1575 1577 1576 1578 /* This method will only consider the numerators of a and b. 1579 Moreover it may return TRUE only if one or both numerators 1580 are zero or if their degrees are equal. Then TRUE is returned iff 1581 coeff(numerator(a)) > coeff(numerator(b)); 1582 In all other cases, FALSE will be returned. */ 1577 1583 BOOLEAN ntGreater (number a, number b) 1578 1584 { 1579 if (ntIsZero(a)) 1580 return FALSE; 1581 if (ntIsZero(b)) 1582 return TRUE; /* a!= 0)*/ 1583 return napDeg(((lnumber)a)->z)>napDeg(((lnumber)b)->z); 1585 int az = 0; int ad = 0; 1586 if (ntIsZero(a)) az = 1; 1587 else ad = napDeg(((lnumber)a)->z); 1588 int bz = 0; int bd = 0; 1589 if (ntIsZero(b)) bz = 1; 1590 else bd = napDeg(((lnumber)b)->z); 1591 1592 if ((az == 1) && (bz == 1)) /* a = b = 0 */ return FALSE; 1593 if (az == 1) /* a = 0, b != 0 */ 1594 { 1595 return (!nacGreaterZero(pGetCoeff(((lnumber)b)->z))); 1596 } 1597 if (bz == 1) /* a != 0, b = 0 */ 1598 { 1599 return (nacGreaterZero(pGetCoeff(((lnumber)a)->z))); 1600 } 1601 if (ad == bd) 1602 return nacGreater(pGetCoeff(((lnumber)a)->z), 1603 pGetCoeff(((lnumber)b)->z)); 1604 return FALSE; 1584 1605 } 1585 1606
Note: See TracChangeset
for help on using the changeset viewer.