Changeset 7326063 in git
- Timestamp:
- Aug 10, 2012, 4:45:13 PM (12 years ago)
- Branches:
- (u'spielwiese', '6e5adcba05493683b94648c659a729c189812c77')
- Children:
- 39d73166130d050a8887d89072423aa5ffdcd53a
- Parents:
- e8eba79d5b1d97d0164270764c45f286deab00ca
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/coeffs/longrat.cc
re8eba7 r7326063 744 744 long aa=SR_TO_INT(a); 745 745 long bb=SR_TO_INT(b); 746 return INT_TO_SR((aa-(aa%bb))/bb); 746 //return INT_TO_SR((aa-(aa%bb))/bb); 747 return INT_TO_SR(aa/bb); 747 748 } 748 749 if (SR_HDL(a) & SR_INT) … … 803 804 if (SR_HDL(a) & SR_HDL(b) & SR_INT) 804 805 { 805 return INT_TO_SR(SR_TO_INT(a)%SR_TO_INT(b)); 806 //return INT_TO_SR(SR_TO_INT(a)%SR_TO_INT(b)); 807 if ((long)a>0L) 808 { 809 if ((long)b>0L) 810 return INT_TO_SR(SR_TO_INT(a)%SR_TO_INT(b)); 811 else 812 return INT_TO_SR(SR_TO_INT(a)%(-SR_TO_INT(b))); 813 } 814 else 815 { 816 if ((long)b>0L) 817 { 818 long i=(-SR_TO_INT(a))%SR_TO_INT(b); 819 if ( i != 0L ) i = (SR_TO_INT(b))-i; 820 return INT_TO_SR(i); 821 } 822 else 823 { 824 long i=(-SR_TO_INT(a))%(-SR_TO_INT(b)); 825 if ( i != 0L ) i = (-SR_TO_INT(b))-i; 826 return INT_TO_SR(i); 827 } 828 } 806 829 } 807 830 if (SR_HDL(a) & SR_INT) 808 831 { 832 /* a is a small and b is a large int: -> a or (a+b) or (a-b) */ 833 if ((long)a<0L) 834 { 835 if (mpz_isNeg(b->z)) 836 return nlSub(a,b,r); 837 /*else*/ 838 return nlAdd(a,b,r); 839 } 840 /*else*/ 841 return a; 842 809 843 /* a is a small and b is a large int: -> a */ 810 return a;844 //return a; 811 845 } 812 846 number bb=NULL;
Note: See TracChangeset
for help on using the changeset viewer.