Changeset dd8668 in git for kernel/longalg.cc
- Timestamp:
- Oct 11, 2009, 4:19:08 PM (14 years ago)
- Branches:
- (u'spielwiese', 'd0474371d8c5d8068ab70bfb42719c97936b18a6')
- Children:
- 1b83ffaae1ee686f47a1448856f99c2cff0b66dd
- Parents:
- 05998dae5a4237480bafa680febec202b19a3bf6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/longalg.cc
r05998da rdd8668 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: longalg.cc,v 1.6 2 2009-10-10 17:15:40Singular Exp $ */4 /* $Id: longalg.cc,v 1.63 2009-10-11 14:19:08 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: algebraic numbers … … 67 67 static int napExpi(int i, napoly a, napoly b); 68 68 ring nacRing; 69 70 void naCoefNormalize(number pp); 69 71 70 72 #define napCopy(p) p_Copy(p,nacRing) … … 947 949 { 948 950 lnumber l=(lnumber)n; 949 naNormalize(n);950 951 if ((l!=NULL)&&(l->n==NULL)&&(p_IsConstant(l->z,r->algring))) 951 952 { … … 978 979 if (p==NULL) return NULL; 979 980 naTest(p); 980 //naNormalize(p);981 981 lnumber erg; 982 982 lnumber src = (lnumber)p; … … 1056 1056 { 1057 1057 number luu=(number)lu; 1058 naNormalize(luu); 1058 //if (p_IsConstant(lu->n,nacRing)) naCoefNormalize(luu); 1059 //else 1060 naNormalize(luu); 1059 1061 lu=(lnumber)luu; 1060 1062 } … … 1106 1108 else x = NULL; 1107 1109 } 1108 //if (x!=NULL)1109 //{1110 // if (p_LmIsConstant(x,nacRing))1111 // {1112 // number inv=nacInvers(pGetCoeff(x));1113 // napMultN(lu->z,inv);1114 // n_Delete(&inv,nacRing);1115 // napDelete(&x);1116 // }1117 //}1118 1110 lu->n = x; 1119 1111 lu->s = FALSE; … … 1121 1113 { 1122 1114 number luu=(number)lu; 1123 naNormalize(luu); 1115 //if (p_IsConstant(lu->n,nacRing)) naCoefNormalize(luu); 1116 //else 1117 naNormalize(luu); 1124 1118 lu=(lnumber)luu; 1125 1119 } … … 1194 1188 lo=NULL; 1195 1189 } 1196 #if 11197 1190 else if (lo->n!=NULL) 1198 1191 { 1199 1192 lo->s = 0; 1200 1193 number luu=(number)lo; 1201 naNormalize(luu); 1194 // if (p_IsConstant(lo->n,nacRing)) naCoefNormalize(luu); 1195 // else 1196 naNormalize(luu); 1202 1197 lo=(lnumber)luu; 1203 1198 } 1204 else1205 lo->s=3;1206 #endif1207 1199 naTest((number)lo); 1208 1200 return (number)lo; … … 1223 1215 return NULL; 1224 1216 } 1225 naNormalize(la);1226 1217 assume(a->z!=NULL && b->z!=NULL); 1227 1218 assume(a->n==NULL && b->n==NULL); … … 1293 1284 lo->s = 0; 1294 1285 number luu=(number)lo; 1295 naNormalize(luu); 1286 //if (p_IsConstant(lo->n,nacRing)) naCoefNormalize(luu); 1287 //else 1288 naNormalize(luu); 1296 1289 lo=(lnumber)luu; 1297 1290 } 1298 else1299 lo->s=3;1300 1291 naTest((number)lo); 1301 1292 return (number)lo; … … 1354 1345 lo->z = x; 1355 1346 lo->n = NULL; 1356 lo->s = 2;1357 1347 while (x!=NULL) 1358 1348 { … … 1366 1356 { 1367 1357 number luu=(number)lo; 1368 naNormalize(luu); 1358 //if (p_IsConstant(lo->n,nacRing)) naCoefNormalize(luu); 1359 //else 1360 naNormalize(luu); 1369 1361 lo=(lnumber)luu; 1370 1362 } … … 1534 1526 { 1535 1527 phn->s = 0; 1536 //naNormalize(phn);1537 1528 BOOLEAN has_denom=(ph->n!=NULL); 1538 1529 napWrite(ph->z,has_denom/*(ph->n!=NULL)*/); … … 1597 1588 a->z = p_ISet(1,nacRing); 1598 1589 a->n = NULL; 1599 a->s = 2;1600 1590 return TRUE; 1601 1591 #else … … 1799 1789 n_Delete(&nz,nacRing); 1800 1790 } 1801 1802 if ((p->n!=NULL) 1803 && (p_IsConstant(p->n,nacRing)) 1804 && (n_IsOne(pGetCoeff(p->n),nacRing))) 1805 { 1806 p_Delete(&(p->n), nacRing); 1807 p->n = NULL; 1791 if (p->n!=NULL) 1792 { 1793 if(!nacGreaterZero(pGetCoeff(p->n))) 1794 { 1795 p->z=napNeg(p->z); 1796 p->n=napNeg(p->n); 1797 } 1798 1799 if (/*(p->n!=NULL) && */ 1800 (p_IsConstant(p->n,nacRing)) 1801 && (n_IsOne(pGetCoeff(p->n),nacRing))) 1802 { 1803 p_Delete(&(p->n), nacRing); 1804 p->n = NULL; 1805 } 1808 1806 } 1809 1807 } … … 1814 1812 lnumber p = (lnumber)pp; 1815 1813 1816 if ( (p==NULL) /*|| (p->s==2)*/)1814 if (p==NULL) 1817 1815 return; 1818 1816 naCoefNormalize(pp);
Note: See TracChangeset
for help on using the changeset viewer.