Changeset 15fbfe0 in git for kernel/GBEngine/kstd2.cc


Ignore:
Timestamp:
Nov 23, 2018, 9:57:32 AM (5 years ago)
Author:
Karim Abou Zeid <karim23697@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
b95a5fd690d6e706af819dfdf1070a990219bf41
Parents:
6b0b41353343d43decc1e6b69445b44cca8cd850352a92c88d03b3b9cf5dcabdeb7619670ccc7228
Message:
Merge branch 'spielwiese' into rightGB
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kstd2.cc

    r6b0b413 r15fbfe0  
    35223522  initBuchMoraCrit(strat);
    35233523  strat->initEcart = initEcartBBA;
    3524   strat->enterS = enterSBba;
     3524#ifdef HAVE_SHIFTBBA
     3525  if (rIsLPRing(currRing))
     3526  {
     3527    strat->enterS = enterSBbaShift;
     3528  }
     3529  else
     3530#endif
     3531  {
     3532    strat->enterS = enterSBba;
     3533  }
    35253534#ifndef NO_BUCKETS
    35263535  strat->use_buckets = (!TEST_OPT_NOT_BUCKETS) && (!rIsPluralRing(currRing));
     
    35643573  omfree(strat->S_2_R);
    35653574  omfree(strat->fromQ);
     3575#ifdef HAVE_SHIFTBBA
     3576  // only LM of elements in S is shifted
     3577  // necessary to prevent deleting the tail multiple times
     3578  if (rIsLPRing(currRing))
     3579  {
     3580    for (int j = 0; j < IDELEMS(strat->Shdl); j++)
     3581    {
     3582      if (strat->Shdl->m[j]!=NULL && pmFirstVblock(strat->Shdl->m[j]) > 1)
     3583      {
     3584        // otherwise the tail would be freed multiple times
     3585        pNext(strat->Shdl->m[j]) = NULL;
     3586      }
     3587    }
     3588  }
     3589#endif
    35663590  idDelete(&strat->Shdl);
    35673591  SI_RESTORE_OPT1(save1);
     
    36653689  initBuchMoraCrit(strat);
    36663690  strat->initEcart = initEcartBBA;
    3667   strat->enterS = enterSBba;
     3691#ifdef HAVE_SHIFTBBA
     3692  if (rIsLPRing(currRing))
     3693  {
     3694    strat->enterS = enterSBbaShift;
     3695  }
     3696  else
     3697#endif
     3698  {
     3699    strat->enterS = enterSBba;
     3700  }
    36683701  /*- set S -*/
    36693702  strat->sl = -1;
     
    37093742  omfree(strat->S_2_R);
    37103743  omfree(strat->fromQ);
     3744#ifdef HAVE_SHIFTBBA
     3745  // only LM of elements in S is shifted
     3746  // necessary to prevent deleting the tail multiple times
     3747  if (rIsLPRing(currRing))
     3748  {
     3749    for (int j = 0; j < IDELEMS(strat->Shdl); j++)
     3750    {
     3751      if (strat->Shdl->m[j]!=NULL && pmFirstVblock(strat->Shdl->m[j]) > 1)
     3752      {
     3753        // otherwise the tail would be freed multiple times
     3754        pNext(strat->Shdl->m[j]) = NULL;
     3755      }
     3756    }
     3757  }
     3758#endif
    37113759  idDelete(&strat->Shdl);
    37123760  SI_RESTORE_OPT1(save1);
Note: See TracChangeset for help on using the changeset viewer.