Changeset f377d6 in git
- Timestamp:
- Jul 19, 2013, 5:23:05 PM (10 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 3e0c11d34cd0300998b687c191f99d28fea7f47c
- Parents:
- 91ce59878acf5e8669fdebcfb3b4036d3963a6f5
- git-author:
- Martin Lee <martinlee84@web.de>2013-07-19 17:23:05+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2013-07-22 15:49:54+02:00
- Location:
- factory
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facSparseHensel.cc
r91ce59 rf377d6 27 27 int level, const CFList& leadingCoeffs, CFList& result) 28 28 { 29 int threshold= 450; 30 CFArray termsF= getBiTerms (F, threshold); 31 if (termsF.size() > threshold) 32 return 0; 33 sort (termsF, level); 34 29 35 CFArray* monoms= new CFArray [factors.length()]; 30 36 int i= 0; … … 67 73 68 74 delete [] monomsLead; 69 70 CFArray termsF= getBiTerms (F);71 if (termsF.size() > 450)72 {73 delete [] monoms;74 return 0;75 }76 sort (termsF, level);77 75 78 76 CFList tmp; -
factory/facSparseHensel.h
r91ce59 rf377d6 200 200 /// helper function for getBiTerms 201 201 inline CFArray 202 getBiTerms_helper (const CanonicalForm& F, const CFMap& M )202 getBiTerms_helper (const CanonicalForm& F, const CFMap& M, int threshold) 203 203 { 204 204 CFArray buf= CFArray (size (F)); … … 215 215 buf[k]= M (i.coeff())*power (one,i.exp()); 216 216 k++; 217 if (k > threshold) 218 break; 217 219 continue; 218 220 } 219 221 j= i.coeff(); 220 for (;j.hasTerms() ; j++, k++)222 for (;j.hasTerms() && k <= threshold; j++, k++) 221 223 buf[k]= power (one,i.exp())*power (two,j.exp())*M (j.coeff()); 224 if (k > threshold) 225 break; 222 226 } 223 227 CFArray result= CFArray (k); 224 for (int i= 0; i < k ; i++)228 for (int i= 0; i < k && k <= threshold; i++) 225 229 result[i]= buf[i]; 226 230 return result; … … 230 234 /// Variable (2) 231 235 inline CFArray 232 getBiTerms (const CanonicalForm& F )236 getBiTerms (const CanonicalForm& F, int threshold) 233 237 { 234 238 if (F.inCoeffDomain()) … … 255 259 G= swapvar (G, Variable (2), Variable (F.level() - 1)); 256 260 257 CFArray result= getBiTerms_helper (G, M );261 CFArray result= getBiTerms_helper (G, M, threshold); 258 262 return result; 259 263 }
Note: See TracChangeset
for help on using the changeset viewer.