Changeset 2e7e3dc in git for factory


Ignore:
Timestamp:
Oct 9, 2020, 11:46:49 AM (4 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
7938f1f9861549cebc155093b665525017c7b077
Parents:
151154f63894a3d7af83d316d9fce647674e45f6
Message:
prepare for FLINT 2.7.0
Location:
factory
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • factory/FLINTconvert.cc

    r151154 r2e7e3dc  
    359359                              const fmpz_t p)
    360360{
     361  #if (__FLINT_RELEASE >= 20700)
     362  fmpz_mod_ctx_t ctx;
     363  fmpz_mod_ctx_init(ctx,p);
     364  fmpz_mod_poly_init2 (result, degree (f) + 1, ctx);
     365  #else
    361366  fmpz_mod_poly_init2 (result, p, degree (f) + 1);
     367  #endif
    362368  fmpz_poly_t buf;
    363369  convertFacCF2Fmpz_poly_t (buf, f);
     370  #if (__FLINT_RELEASE >= 20700)
     371  fmpz_mod_poly_set_fmpz_poly (result, buf, ctx);
     372  fmpz_mod_ctx_clear(ctx);
     373  #else
    364374  fmpz_mod_poly_set_fmpz_poly (result, buf);
     375  #endif
    365376  fmpz_poly_clear (buf);
    366377}
     
    372383  fmpz_poly_t buf;
    373384  fmpz_poly_init (buf);
     385  #if (__FLINT_RELEASE >= 20700)
     386  fmpz_t FLINTp;
     387  fmpz_init (FLINTp);
     388  convertCF2Fmpz (FLINTp, b.getpk());
     389  fmpz_mod_ctx_t ctx;
     390  fmpz_mod_ctx_init(ctx,FLINTp);
     391  fmpz_clear(FLINTp);
     392  fmpz_mod_poly_get_fmpz_poly (buf, poly, ctx);
     393  #else
    374394  fmpz_mod_poly_get_fmpz_poly (buf, poly);
     395  #endif
    375396  CanonicalForm result= convertFmpz_poly_t2FacCF (buf, x);
    376397  fmpz_poly_clear (buf);
     
    430451  for (CFIterator i= f; i.hasTerms(); i++)
    431452    convertCF2Fmpz (fmpz_poly_get_coeff_ptr(result, i.exp()), i.coeff());
     453  #if (__FLINT_RELEASE >= 20700)
     454  _fmpz_vec_scalar_mod_fmpz (result->coeffs, result->coeffs, degree (f) + 1,
     455                             ctx->ctxp->n);
     456  #else
    432457  _fmpz_vec_scalar_mod_fmpz (result->coeffs, result->coeffs, degree (f) + 1,
    433458                             &ctx->p);
     459  #endif
    434460  _fmpz_poly_normalise (result);
    435461}
     
    451477  {
    452478    convertFacCF2Fmpz_poly_t (buf, i.coeff());
     479    #if (__FLINT_RELEASE >= 20700)
     480    _fmpz_vec_scalar_mod_fmpz (buf->coeffs, buf->coeffs, degree (i.coeff()) + 1,
     481                               ctx->ctxp->n);
     482    #else
    453483    _fmpz_vec_scalar_mod_fmpz (buf->coeffs, buf->coeffs, degree (i.coeff()) + 1,
    454484                               &ctx->p);
     485    #endif
    455486    _fmpz_poly_normalise (buf);
    456487    fq_poly_set_coeff (result, i.exp(), buf, ctx);
  • factory/facMul.cc

    r151154 r2e7e3dc  
    440440        convertFacCF2Fmpz_mod_poly_t (FLINTmipo, mipo, FLINTp);
    441441
     442        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     443        fmpz_mod_ctx_t fmpz_ctx;
     444        fmpz_mod_ctx_init(fmpz_ctx,FLINTp);
     445        fq_ctx_init_modulus (fq_con, FLINTmipo, fmpz_ctx, "Z");
     446        #else
    442447        fq_ctx_init_modulus (fq_con, FLINTmipo, "Z");
     448        #endif
    443449
    444450        convertFacCF2Fq_poly_t (FLINTF, F, fq_con);
     
    451457
    452458        fmpz_clear (FLINTp);
    453         fmpz_mod_poly_clear (FLINTmipo);
    454459        fq_poly_clear (FLINTF, fq_con);
    455460        fq_poly_clear (FLINTG, fq_con);
    456461        fq_ctx_clear (fq_con);
     462        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     463        fmpz_mod_poly_clear (FLINTmipo,fmpz_ctx);
     464        fmpz_mod_ctx_clear(fmpz_ctx);
     465        #else
     466        fmpz_mod_poly_clear(FLINTmipo);
     467        #endif
    457468        return b (result);
    458469#endif
     
    486497        convertFacCF2Fmpz_mod_poly_t (FLINTF, F, FLINTpk);
    487498        convertFacCF2Fmpz_mod_poly_t (FLINTG, G, FLINTpk);
     499        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     500        fmpz_mod_ctx_t fmpz_ctx;
     501        fmpz_mod_ctx_init(fmpz_ctx,FLINTpk);
     502        fmpz_mod_poly_mul (FLINTF, FLINTF, FLINTG, fmpz_ctx);
     503        #else
    488504        fmpz_mod_poly_mul (FLINTF, FLINTF, FLINTG);
     505        #endif
    489506        CanonicalForm result= convertFmpz_mod_poly_t2FacCF (FLINTF, F.mvar(),b);
     507        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     508        fmpz_mod_poly_clear (FLINTG,fmpz_ctx);
     509        fmpz_mod_poly_clear (FLINTF,fmpz_ctx);
     510        fmpz_mod_ctx_clear(fmpz_ctx);
     511        #else
    490512        fmpz_mod_poly_clear (FLINTG);
    491513        fmpz_mod_poly_clear (FLINTF);
     514        #endif
    492515        fmpz_clear (FLINTpk);
    493516        return result;
     
    525548          convertFacCF2Fmpz_mod_poly_t (FLINTmipo, getMipo (alpha), FLINTp);
    526549
     550          #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     551          fmpz_mod_ctx_t fmpz_ctx;
     552          fmpz_mod_ctx_init(fmpz_ctx,FLINTp);
     553          fq_ctx_init_modulus (fq_con, FLINTmipo, fmpz_ctx, "Z");
     554          #else
    527555          fq_ctx_init_modulus (fq_con, FLINTmipo, "Z");
     556          #endif
    528557
    529558          CanonicalForm result;
     
    571600
    572601          fmpz_clear (FLINTp);
     602          #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     603          fmpz_mod_poly_clear (FLINTmipo,fmpz_ctx);
     604          fmpz_mod_ctx_clear(fmpz_ctx);
     605          #else
    573606          fmpz_mod_poly_clear (FLINTmipo);
     607          #endif
    574608          fq_ctx_clear (fq_con);
    575609
     
    726760        convertFacCF2Fmpz_mod_poly_t (FLINTF, F, FLINTpk);
    727761        convertFacCF2Fmpz_mod_poly_t (FLINTG, G, FLINTpk);
     762        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     763        fmpz_mod_ctx_t fmpz_ctx;
     764        fmpz_mod_ctx_init(fmpz_ctx,FLINTpk);
     765        fmpz_mod_poly_divrem (FLINTG, FLINTF, FLINTF, FLINTG, fmpz_ctx);
     766        #else
    728767        fmpz_mod_poly_divrem (FLINTG, FLINTF, FLINTF, FLINTG);
     768        #endif
    729769        CanonicalForm result= convertFmpz_mod_poly_t2FacCF (FLINTF,F.mvar(),b);
     770        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     771        fmpz_mod_poly_clear (FLINTG, fmpz_ctx);
     772        fmpz_mod_poly_clear (FLINTF, fmpz_ctx);
     773        fmpz_mod_ctx_clear(fmpz_ctx);
     774        #else
    730775        fmpz_mod_poly_clear (FLINTG);
    731776        fmpz_mod_poly_clear (FLINTF);
     777        #endif
    732778        fmpz_clear (FLINTpk);
    733779        return result;
     
    764810        convertFacCF2Fmpz_mod_poly_t (FLINTmipo, getMipo (alpha), FLINTp);
    765811
     812        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     813        fmpz_mod_ctx_t fmpz_ctx;
     814        fmpz_mod_ctx_init(fmpz_ctx,FLINTp);
     815        fq_ctx_init_modulus (fq_con, FLINTmipo, fmpz_ctx, "Z");
     816        #else
    766817        fq_ctx_init_modulus (fq_con, FLINTmipo, "Z");
     818        #endif
    767819
    768820        convertFacCF2Fq_poly_t (FLINTF, F, fq_con);
     
    775827
    776828        fmpz_clear (FLINTp);
    777         fmpz_mod_poly_clear (FLINTmipo);
    778829        fq_poly_clear (FLINTF, fq_con);
    779830        fq_poly_clear (FLINTG, fq_con);
    780831        fq_ctx_clear (fq_con);
     832        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     833        fmpz_mod_poly_clear (FLINTmipo, fmpz_ctx);
     834        fmpz_mod_ctx_clear(fmpz_ctx);
     835        #else
     836        fmpz_mod_poly_clear (FLINTmipo);
     837        #endif
    781838
    782839        return b(result);
     
    893950        convertFacCF2Fmpz_mod_poly_t (FLINTmipo, getMipo (alpha), FLINTp);
    894951
     952        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     953        fmpz_mod_ctx_t fmpz_ctx;
     954        fmpz_mod_ctx_init(fmpz_ctx,FLINTp);
     955        fq_ctx_init_modulus (fq_con, FLINTmipo, fmpz_ctx, "Z");
     956        #else
    895957        fq_ctx_init_modulus (fq_con, FLINTmipo, "Z");
     958        #endif
    896959
    897960        convertFacCF2Fq_t (FLINTF, F, fq_con);
     
    904967
    905968        fmpz_clear (FLINTp);
    906         fmpz_mod_poly_clear (FLINTmipo);
    907969        fq_clear (FLINTF, fq_con);
    908970        fq_clear (FLINTG, fq_con);
    909971        fq_ctx_clear (fq_con);
     972        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     973        fmpz_mod_poly_clear (FLINTmipo, fmpz_ctx);
     974        fmpz_mod_ctx_clear(fmpz_ctx);
     975        #else
     976        fmpz_mod_poly_clear (FLINTmipo);
     977        #endif
    910978        return b (result);
    911979#else
     
    9441012        convertFacCF2Fmpz_mod_poly_t (FLINTmipo, getMipo (alpha), FLINTp);
    9451013
     1014        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     1015        fmpz_mod_ctx_t fmpz_ctx;
     1016        fmpz_mod_ctx_init(fmpz_ctx,FLINTp);
     1017        fq_ctx_init_modulus (fq_con, FLINTmipo, fmpz_ctx, "Z");
     1018        #else
    9461019        fq_ctx_init_modulus (fq_con, FLINTmipo, "Z");
     1020        #endif
    9471021
    9481022        convertFacCF2Fq_poly_t (FLINTF, F, fq_con);
     
    9561030
    9571031        fmpz_clear (FLINTp);
    958         fmpz_mod_poly_clear (FLINTmipo);
    9591032        fq_poly_clear (FLINTF, fq_con);
    9601033        fq_clear (FLINTG, fq_con);
    9611034        fq_ctx_clear (fq_con);
     1035        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     1036        fmpz_mod_poly_clear (FLINTmipo, fmpz_ctx);
     1037        fmpz_mod_ctx_clear(fmpz_ctx);
     1038        #else
     1039        fmpz_mod_poly_clear (FLINTmipo);
     1040        #endif
    9621041        return b (result);
    9631042#else
     
    9911070        convertFacCF2Fmpz_mod_poly_t (FLINTF, F, FLINTpk);
    9921071        convertFacCF2Fmpz_mod_poly_t (FLINTG, G, FLINTpk);
     1072        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     1073        fmpz_mod_ctx_t fmpz_ctx;
     1074        fmpz_mod_ctx_init(fmpz_ctx,FLINTpk);
     1075        fmpz_mod_poly_divrem (FLINTF, FLINTG, FLINTF, FLINTG, fmpz_ctx);
     1076        #else
    9931077        fmpz_mod_poly_divrem (FLINTF, FLINTG, FLINTF, FLINTG);
     1078        #endif
    9941079        CanonicalForm result= convertFmpz_mod_poly_t2FacCF (FLINTF,F.mvar(),b);
     1080        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     1081        fmpz_mod_poly_clear (FLINTG, fmpz_ctx);
     1082        fmpz_mod_poly_clear (FLINTF, fmpz_ctx);
     1083        fmpz_mod_ctx_clear(fmpz_ctx);
     1084        #else
    9951085        fmpz_mod_poly_clear (FLINTG);
    9961086        fmpz_mod_poly_clear (FLINTF);
     1087        #endif
    9971088        fmpz_clear (FLINTpk);
    9981089        return result;
     
    10281119        convertFacCF2Fmpz_mod_poly_t (FLINTmipo, getMipo (alpha), FLINTp);
    10291120
     1121        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     1122        fmpz_mod_ctx_t fmpz_ctx;
     1123        fmpz_mod_ctx_init(fmpz_ctx,FLINTp);
     1124        fq_ctx_init_modulus (fq_con, FLINTmipo, fmpz_ctx, "Z");
     1125        #else
    10301126        fq_ctx_init_modulus (fq_con, FLINTmipo, "Z");
     1127        #endif
    10311128
    10321129        convertFacCF2Fq_poly_t (FLINTF, F, fq_con);
     
    10391136
    10401137        fmpz_clear (FLINTp);
    1041         fmpz_mod_poly_clear (FLINTmipo);
    1042         fq_ctx_clear (fq_con);
    10431138        fq_poly_clear (FLINTF, fq_con);
    10441139        fq_poly_clear (FLINTG, fq_con);
     1140        fq_ctx_clear (fq_con);
     1141        #if (HAVE_FLINT && __FLINT_RELEASE >= 20700)
     1142        fmpz_mod_poly_clear (FLINTmipo, fmpz_ctx);
     1143        fmpz_mod_ctx_clear(fmpz_ctx);
     1144        #else
     1145        fmpz_mod_poly_clear (FLINTmipo);
     1146        #endif
    10451147        return b (result);
    10461148#else
Note: See TracChangeset for help on using the changeset viewer.