Changeset 53568d in git for factory/FLINTconvert.cc
- Timestamp:
- Dec 18, 2012, 11:10:15 AM (11 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 91a015cb615aa2ad8c3f32d3c78527d934cb8d1d
- Parents:
- 7964f9c956558e8b0001c238e40b87ea1f0d9757
- git-author:
- Martin Lee <martinlee84@web.de>2012-12-18 11:10:15+01:00
- git-committer:
- Martin Lee <martinlee84@web.de>2013-02-22 18:10:31+01:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/FLINTconvert.cc
r7964f9c r53568d 73 73 CanonicalForm convertFmpz2CF (fmpz_t coefficient) 74 74 { 75 if (fmpz_cmp_si (coefficient, MINIMMEDIATE) >= 0 && fmpz_cmp_si (coefficient, MAXIMMEDIATE) <= 0) //this should work with flint 2.3 now 75 if (fmpz_cmp_si (coefficient, MINIMMEDIATE) >= 0 && 76 fmpz_cmp_si (coefficient, MAXIMMEDIATE) <= 0) 76 77 { 77 78 long coeff= fmpz_get_si (coefficient); … … 86 87 return result; 87 88 } 88 89 /*mpz_t gmp_val;90 mpz_init (gmp_val);91 fmpz_get_mpz (gmp_val, coefficient); //TODO fmpz_fits_si92 if (mpz_is_imm (gmp_val)) //TODO for long93 {94 long coeff= mpz_get_si (gmp_val);95 mpz_clear (gmp_val);96 return CanonicalForm (coeff);97 }98 99 CanonicalForm result= CanonicalForm (CFFactory::basic (gmp_val));100 return result;*/101 89 } 102 90 … … 147 135 } 148 136 149 void convertCF2Fmpq (fmpq_t result, const CanonicalForm& f) //TODO wie oben bei CF2Fmpz137 void convertCF2Fmpq (fmpq_t result, const CanonicalForm& f) 150 138 { 151 139 ASSERT (isOn (SW_RATIONAL), "expected rational"); … … 178 166 { 179 167 ASSERT (isOn (SW_RATIONAL), "expected rational"); 180 //TODO as for Fmpz check first if num and den are immediate181 168 182 169 CanonicalForm num, den; … … 201 188 CanonicalForm convertFmpq_poly_t2FacCF (fmpq_poly_t p, const Variable& x) 202 189 { 203 #if 0204 ASSERT (isOn (SW_RATIONAL), "expected poly over Q");205 CanonicalForm den= convertFmpz2CF (fmpq_poly_denref (p));206 fmpz_poly_t FLINTnum;207 long n= fmpq_poly_length (p);208 fmpz_poly_init2 (FLINTnum, fmpq_poly_length (p));209 210 for (long i= 0; i < n; i++)211 fmpz_set (FLINTnum->coeffs + i,fmpq_poly_numref (p) + i);212 _fmpz_poly_set_length (FLINTnum, n);213 CanonicalForm result= convertFmpz_poly_t2FacCF (FLINTnum, x);214 fmpz_poly_clear (FLINTnum);215 return result/den;216 #else217 190 CanonicalForm result= 0; 218 191 fmpq_t coeff; … … 231 204 } 232 205 return result; 233 #endif234 206 } 235 207 … … 240 212 } 241 213 242 //TODO multiply by bCommonDen and convertFacCF2Fmpz_poly_t243 214 void convertFacCF2Fmpq_poly_t (fmpq_poly_t result, const CanonicalForm& f) 244 215 { … … 250 221 convertFacCF2Fmpz_array (fmpq_poly_numref (result), f*den); 251 222 convertCF2Fmpz (fmpq_poly_denref (result), den); 252 /*fmpq_t coeff;253 for (CFIterator i= f; i.hasTerms(); i++)254 {255 fmpq_init (coeff);256 convertCF2Fmpq (coeff, i.coeff());257 fmpq_poly_set_coeff_fmpq (result, i.exp(), coeff);258 fmpq_clear (coeff);259 }*/260 223 } 261 224
Note: See TracChangeset
for help on using the changeset viewer.