Changeset 6e62ce in git for factory/canonicalform.cc


Ignore:
Timestamp:
Jul 23, 2019, 4:16:39 PM (5 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
fa1cd304b94fb2782b47874564b731a57670c34c
Parents:
b2359cfe3b7b393982685c8605f2181e5871eeec
Message:
use Flints mpoly for *= and gcd over ZZ/p, QQ, ZZ
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/canonicalform.cc

    rb2359c r6e62ce  
    1717#include "gfops.h"
    1818#include "facMul.h"
     19#include "facAlgFuncUtil.h"
    1920#include "FLINTconvert.h"
    2021
     
    707708    else  if ( value->level() == cf.value->level() ) {
    708709#if (HAVE_NTL && HAVE_FLINT && __FLINT_RELEASE >= 20400)
     710#if (__FLINT_RELEASE >= 20503)
     711        int l_this,l_cf,m=1;
     712        if ((getCharacteristic()>0)
     713        && (CFFactory::gettype() != GaloisFieldDomain)
     714        &&(!hasAlgVar(*this))
     715        &&(!hasAlgVar(cf))
     716        &&((l_cf=size_maxexp(cf,m))>10)
     717        &&((l_this=size_maxexp(*this,m))>10)
     718        )
     719        {
     720          *this=mulFlintMP_Zp(*this,l_this,cf,l_cf,m);
     721        }
     722        else
     723        /*-----------------------------------------------------*/
     724        if ((getCharacteristic()==0)
     725        &&(!hasAlgVar(*this))
     726        &&(!hasAlgVar(cf))
     727        &&((l_cf=size_maxexp(cf,m))>10)
     728        &&((l_this=size_maxexp(*this,m))>10)
     729        )
     730        {
     731          *this=mulFlintMP_QQ(*this,l_this,cf,l_cf,m);
     732        }
     733        else
     734#endif
     735
    709736        if (value->levelcoeff() == cf.value->levelcoeff() && cf.isUnivariate() && (*this).isUnivariate())
    710737        {
Note: See TracChangeset for help on using the changeset viewer.