Changeset fcd296 in git for factory/facFactorize.cc
- Timestamp:
- Aug 15, 2012, 2:31:04 PM (10 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'c987db42cd2ec943b97ac5746c99892ceddf909c')
- Children:
- 8d2c116a855f5479558e951ec926b7e92a2c0ac0
- Parents:
- 8797746f0462992c4a00f27f0837b923a3f847de
- git-author:
- Martin Lee <martinlee84@web.de>2012-08-15 14:31:04+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2012-09-04 18:01:17+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facFactorize.cc
r8797746 rfcd296 903 903 904 904 CanonicalForm LCmultiplier= leadingCoeffs.getFirst(); 905 bool LCmultiplierIsConst= LCmultiplier.inCoeffDomain(); 905 906 leadingCoeffs.removeFirst(); 906 907 … … 921 922 922 923 CFListIterator iter2; 924 CFList bufLeadingCoeffs2= leadingCoeffs2[A.level()-3]; 925 bufBiFactors= biFactors; 926 bufA= A; 923 927 CFList bufFactors= CFList(); 928 bool LCheuristic= false; 924 929 if (LucksWangSparseHeuristic (A, biFactors, 2, leadingCoeffs2 [A.level() - 3], 925 930 factors)) … … 973 978 else if (!LCmultiplier.inCoeffDomain() && factors.length() == 0) 974 979 { 980 LCheuristic= true; 975 981 factors= oldFactors; 976 982 CanonicalForm cont; … … 1071 1077 break; 1072 1078 } 1073 else //factor isconsists of just leading coeff1079 else //factor consists of just leading coeff 1074 1080 { 1075 1081 CanonicalForm vars=getVars (iter.getItem()); … … 1084 1090 factor= LC (getItem (oldAeval[i], index),1); 1085 1091 if ((factor.inCoeffDomain() && degree (vars,xx) > 0) || 1086 (degree (factor,xx) > 0 && degree (vars,xx) < 0)) //scan for bivariate factors with leading coeff that does not contain variables which occur in LCmultiplier1092 (degree (factor,xx) > 0 && degree (vars,xx) <= 0)) //scan for bivariate factors with leading coeff that does not contain variables which occur in LCmultiplier 1087 1093 { 1088 1094 oneVariableNotInCommon= true; … … 1169 1175 } 1170 1176 1177 tryAgainWithoutHeu: 1171 1178 //shifting to zero 1172 1179 A= shift2Zero (A, Aeval, evaluation); … … 1254 1261 if (noOneToOne) 1255 1262 { 1263 if (!LCmultiplierIsConst && LCheuristic) 1264 { 1265 A= bufA; 1266 biFactors= bufBiFactors; 1267 leadingCoeffs2[A.level()-3]= bufLeadingCoeffs2; 1268 delete [] liftBounds; 1269 LCheuristic= false; 1270 goto tryAgainWithoutHeu; 1271 //something probably went wrong in the heuristic 1272 } 1273 1256 1274 A= shift2Zero (oldA, Aeval, evaluation); 1257 1275 biFactors= oldBiFactors;
Note: See TracChangeset
for help on using the changeset viewer.