Changeset 53568d in git for factory/FLINTconvert.cc


Ignore:
Timestamp:
Dec 18, 2012, 11:10:15 AM (11 years ago)
Author:
Martin Lee <martinlee84@…>
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
Message:
chg: clean up of FLINT interface
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/FLINTconvert.cc

    r7964f9c r53568d  
    7373CanonicalForm convertFmpz2CF (fmpz_t coefficient)
    7474{
    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)
    7677  {
    7778    long coeff= fmpz_get_si (coefficient);
     
    8687    return result;
    8788  }
    88 
    89   /*mpz_t gmp_val;
    90   mpz_init (gmp_val);
    91   fmpz_get_mpz (gmp_val, coefficient); //TODO fmpz_fits_si
    92   if (mpz_is_imm (gmp_val)) //TODO for long
    93   {
    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;*/
    10189}
    10290
     
    147135}
    148136
    149 void convertCF2Fmpq (fmpq_t result, const CanonicalForm& f) //TODO wie oben bei CF2Fmpz
     137void convertCF2Fmpq (fmpq_t result, const CanonicalForm& f)
    150138{
    151139  ASSERT (isOn (SW_RATIONAL), "expected rational");
     
    178166{
    179167  ASSERT (isOn (SW_RATIONAL), "expected rational");
    180   //TODO as for Fmpz check first if num and den are immediate
    181168
    182169  CanonicalForm num, den;
     
    201188CanonicalForm convertFmpq_poly_t2FacCF (fmpq_poly_t p, const Variable& x)
    202189{
    203 #if 0
    204   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 #else
    217190  CanonicalForm result= 0;
    218191  fmpq_t coeff;
     
    231204  }
    232205  return result;
    233 #endif
    234206}
    235207
     
    240212}
    241213
    242 //TODO multiply by bCommonDen and convertFacCF2Fmpz_poly_t
    243214void convertFacCF2Fmpq_poly_t (fmpq_poly_t result, const CanonicalForm& f)
    244215{
     
    250221  convertFacCF2Fmpz_array (fmpq_poly_numref (result), f*den);
    251222  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   }*/
    260223}
    261224
Note: See TracChangeset for help on using the changeset viewer.