Changeset 009d80 in git for kernel/polys.cc
- Timestamp:
- May 10, 2007, 10:12:44 AM (16 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 4cd2f891f36b9e1d58f0aeaa4683254f54088298
- Parents:
- 4bebba7353438f052b4ad581ede34fa6f31e5a71
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/polys.cc
r4bebba r009d80 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: polys.cc,v 1.1 5 2007-05-03 13:50:09wienand Exp $ */4 /* $Id: polys.cc,v 1.16 2007-05-10 08:12:42 wienand Exp $ */ 5 5 6 6 /* … … 141 141 poly prev=NULL; 142 142 int i; 143 #ifdef HAVE_RINGMODN 144 if (currRing->cring == 2) 145 { 146 WarnS("Not implemenet, 2007-05-03 12:22:46"); 147 } 148 #endif 149 #ifdef HAVE_RING2TOM 150 bool unit = true; 151 number inv = pGetCoeff(b); 152 if ((currRing->cring == 1) && ((long) pGetCoeff(b) % 2 == 0)) 153 { 154 unit = false; 155 } 156 if (unit) inv=nInvers(inv); 143 #ifdef HAVE_RINGS 144 number inv=pGetCoeff(b); 157 145 #else 158 146 number inv=nInvers(pGetCoeff(b)); … … 184 172 } 185 173 } 186 #ifdef HAVE_RING2TOM 187 if (!unit) 188 { 189 pDiv_nn(result,inv); 190 } 191 else 174 #ifdef HAVE_RINGS 175 pDiv_nn(result,inv); 176 #else 177 pMult_nn(result,inv); 192 178 #endif 193 pMult_nn(result,inv);194 179 nDelete(&inv); 195 180 pDelete(&b); … … 704 689 } 705 690 706 #ifdef HAVE_RING 2TOM691 #ifdef HAVE_RINGS //HACK TODO Oliver 707 692 number nGetUnit(number k) { 708 long test = (long) k; 709 while (test%2 == 0) { 710 test = test / 2; 711 } 712 return (number) test; 693 return (number) nIntDiv(k, nGcd(k, 0, currRing)); 713 694 } 714 695 #endif … … 721 702 poly h; 722 703 number k, c; 723 #ifdef HAVE_RINGMODN 724 if (currRing->cring == 2) 725 { 726 WarnS("Not implemenet, 2007-05-03 12:22:46"); 727 } 728 #endif 729 #ifdef HAVE_RING2TOM 730 if (currRing->cring != 0) 704 #ifdef HAVE_RINGS 705 if (rField_is_Ring(currRing)) 731 706 { 732 707 if (p1!=NULL) … … 735 710 if (!nIsOne(k)) 736 711 { 737 k = nGetUnit(pGetCoeff(p1));738 712 c = nDiv(pGetCoeff(p1), k); 739 713 pSetCoeff0(p1, c);
Note: See TracChangeset
for help on using the changeset viewer.