Changeset 15fbfe0 in git for kernel/GBEngine/kstd2.cc
- Timestamp:
- Nov 23, 2018, 9:57:32 AM (5 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- b95a5fd690d6e706af819dfdf1070a990219bf41
- Parents:
- 6b0b41353343d43decc1e6b69445b44cca8cd850352a92c88d03b3b9cf5dcabdeb7619670ccc7228
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/GBEngine/kstd2.cc
r6b0b413 r15fbfe0 3522 3522 initBuchMoraCrit(strat); 3523 3523 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 } 3525 3534 #ifndef NO_BUCKETS 3526 3535 strat->use_buckets = (!TEST_OPT_NOT_BUCKETS) && (!rIsPluralRing(currRing)); … … 3564 3573 omfree(strat->S_2_R); 3565 3574 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 3566 3590 idDelete(&strat->Shdl); 3567 3591 SI_RESTORE_OPT1(save1); … … 3665 3689 initBuchMoraCrit(strat); 3666 3690 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 } 3668 3701 /*- set S -*/ 3669 3702 strat->sl = -1; … … 3709 3742 omfree(strat->S_2_R); 3710 3743 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 3711 3759 idDelete(&strat->Shdl); 3712 3760 SI_RESTORE_OPT1(save1);
Note: See TracChangeset
for help on using the changeset viewer.