Changeset a63783 in git


Ignore:
Timestamp:
Jun 17, 2016, 5:07:37 PM (8 years ago)
Author:
Adi Popescu <adi_popescum@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
1798a00a38186e92d8d8d6dc786ccdf6aad508cd
Parents:
2268ed1be40fc852617a276b8e205c5086d79e12
Message:
fix: F5C over Rings
Location:
kernel/GBEngine
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kstd1.cc

    r2268ed ra63783  
    15081508    strat->red2 = redHomog;
    15091509  }
    1510 #if defined(HAVE_RINGS)
    15111510  if (rField_is_Ring(currRing))
    15121511  {
    15131512    if(rHasLocalOrMixedOrdering(currRing))
    1514       {strat->red = redRiloc;}
     1513      {strat->red2 = redRiloc;}
    15151514    else
    15161515      {strat->red2 = redRing;}
    15171516  }
    1518 #endif
    15191517  if (currRing->pLexOrder && strat->honey)
    15201518    strat->initEcart = initEcartNormal;
  • kernel/GBEngine/kstd2.cc

    r2268ed ra63783  
    32843284          }
    32853285          strat->initEcart(&h);
    3286           pos = strat->Ll+1;
     3286          if(rField_is_Ring(currRing))
     3287            pos = posInLF5CRing(strat->L, Ll_old+1,strat->Ll,&h,strat);
     3288          else
     3289            pos = strat->Ll+1;
    32873290          h.sev = pGetShortExpVector(h.p);
    32883291          enterL(&strat->L,&strat->Ll,&strat->Lmax,h,pos);
  • kernel/GBEngine/kutil.cc

    r2268ed ra63783  
    59555955  int i;
    59565956  int an = 0;
     5957  int en= length;
     5958  loop
     5959  {
     5960    if (an >= en-1)
     5961    {
     5962      op = set[an].GetpFDeg();
     5963      if ((op > o)
     5964      || ((op == o) && (pLtCmpOrdSgnDiffM(set[an].p,p->p))))
     5965        return en;
     5966      return an;
     5967    }
     5968    i=(an+en) / 2;
     5969    op = set[i].GetpFDeg();
     5970    if ((op > o)
     5971    || ((op == o) && (pLtCmpOrdSgnDiffM(set[i].p,p->p))))
     5972      an=i;
     5973    else
     5974      en=i;
     5975  }
     5976}
     5977
     5978int posInLF5CRing (const LSet set, int start,const int length,
     5979              LObject* p,const kStrategy strat)
     5980{
     5981  if (length<0) return 0;
     5982  if(start == (length +1)) return (length+1);
     5983  int o = p->GetpFDeg();
     5984  int op = set[length].GetpFDeg();
     5985
     5986  if ((op > o)
     5987  || ((op == o) && (pLtCmpOrdSgnDiffM(set[length].p,p->p))))
     5988    return length+1;
     5989  int i;
     5990  int an = start;
    59575991  int en= length;
    59585992  loop
     
    96469680  else if (BTEST1(12) || BTEST1(14) || BTEST1(16) || BTEST1(18))
    96479681    strat->posInT = posInT1;
    9648 #ifdef HAVE_RINGS
    96499682  if (rField_is_Ring(currRing))
    96509683  {
     
    96549687    strat->posInT = posInT11;
    96559688  }
    9656 #endif
    96579689  strat->posInLDependsOnLength = FALSE;
    96589690  strat->posInLSba  = posInLSig;
  • kernel/GBEngine/kutil.h

    r2268ed ra63783  
    470470int posInL11Ring (const LSet set, const int length,
    471471             LObject* L,const kStrategy strat);
     472int posInLF5CRing (const LSet set, int start , const int length,
     473             LObject* L,const kStrategy strat);
    472474int posInL11Ringls (const LSet set, const int length,
    473475             LObject* L,const kStrategy strat);
Note: See TracChangeset for help on using the changeset viewer.