Changeset 17bc740 in git for kernel/GBEngine/kutil.cc


Ignore:
Timestamp:
Feb 5, 2021, 6:59:30 PM (3 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
ff4cbacc83944accd7caea5f872dc17187736644
Parents:
66805e9596322cdaf1ea898965d3b22dfc939b1d
Message:
fix: liftstd
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kutil.cc

    r66805e r17bc740  
    20002000  if (strat->sugarCrit && ALLOW_PROD_CRIT(strat))
    20012001  {
     2002    if (strat->fromT && (strat->ecartS[i]>ecart))
     2003    {
     2004      pLmFree(Lp.lcm);
     2005      return;
     2006      /*the pair is (s[i],t[.]), discard it if the ecart is too big*/
     2007    }
    20022008    if((!((strat->ecartS[i]>0)&&(ecart>0)))
    20032009    && pHasNotCF(p,strat->S[i]))
     
    20212027      return;
    20222028    }
    2023     else
    2024       Lp.ecart = si_max(ecart,strat->ecartS[i]);
    2025     if (strat->fromT && (strat->ecartS[i]>ecart))
    2026     {
    2027       pLmFree(Lp.lcm);
    2028       return;
    2029       /*the pair is (s[i],t[.]), discard it if the ecart is too big*/
    2030     }
     2029    Lp.ecart = si_max(ecart,strat->ecartS[i]);
    20312030    /*
    20322031    *the set B collects the pairs of type (S[j],p)
     
    20672066    if (ALLOW_PROD_CRIT(strat))
    20682067    {
     2068      if (strat->fromT && (strat->ecartS[i]>ecart))
     2069      {
     2070        pLmFree(Lp.lcm);
     2071        return;
     2072        /*the pair is (s[i],t[.]), discard it if the ecart is too big*/
     2073      }
    20692074      // if currRing->nc_type!=quasi (or skew)
    20702075      // TODO: enable productCrit for super commutative algebras...
     
    20882093          return;
    20892094      }
    2090       if (strat->fromT && (strat->ecartS[i]>ecart))
    2091       {
    2092         pLmFree(Lp.lcm);
    2093         return;
    2094         /*the pair is (s[i],t[.]), discard it if the ecart is too big*/
    2095       }
    20962095      /*
    20972096      *the set B collects the pairs of type (S[j],p)
     
    22362235}
    22372236
    2238 /// p_HasNotCF for the IDLIFT case: ignore component
    2239 static BOOLEAN p_HasNotCF_Lift(poly p1, poly p2, const ring r)
     2237/// p_HasNotCF for the IDLIFT case and syzComp==1: ignore component
     2238static inline BOOLEAN p_HasNotCF_Lift(poly p1, poly p2, const ring r)
    22402239{
    22412240  int i = rVar(r);
     
    22522251/*2
    22532252* put the pair (s[i],p)  into the set B, ecart=ecart(p) for idLift(I,T)
     2253*  (in the special case: idLift for ideals, i.e. strat->syzComp==1)
     2254*  (prod.crit applies)
    22542255*/
    22552256
     
    22592260  assume(!rIsPluralRing(currRing));
    22602261  assume(i<=strat->sl);
     2262  assume(strat->syzComp==1);
    22612263
    22622264  if ((strat->S[i]==NULL) || (p==NULL))
     
    1001310015#endif
    1001410016  if (TEST_OPT_IDLIFT
     10017  && (strat->syzComp==1)
    1001510018  && (!rIsPluralRing(currRing)))
    1001610019    strat->enterOnePair=enterOnePairLift;
Note: See TracChangeset for help on using the changeset viewer.