new version
| 3544 | } |
| 3545 | // new version |
| 3546 | ideal kInterRedBba (ideal F, ideal Q, int &need_retry) |
| 3547 | { |
| 3548 | need_retry=0; |
| 3549 | int red_result = 1; |
| 3550 | int olddeg,reduc; |
| 3551 | BOOLEAN withT = FALSE; |
| 3552 | // BOOLEAN toReset=FALSE; |
| 3553 | kStrategy strat=new skStrategy; |
| 3554 | tHomog h; |
| 3555 | |
| 3556 | if (rField_has_simple_inverse(currRing)) |
| 3557 | strat->LazyPass=20; |
| 3558 | else |
| 3559 | strat->LazyPass=2; |
| 3560 | strat->LazyDegree = 1; |
| 3561 | strat->ak = id_RankFreeModule(F,currRing); |
| 3562 | strat->syzComp = strat->ak; |
| 3563 | strat->kModW=kModW=NULL; |
| 3564 | strat->kHomW=kHomW=NULL; |
| 3565 | if (strat->ak == 0) |
| 3566 | { |
| 3567 | h = (tHomog)idHomIdeal(F,Q); |
| 3568 | } |
| 3569 | else if (!TEST_OPT_DEGBOUND) |
| 3570 | { |
| 3571 | h = (tHomog)idHomIdeal(F,Q); |
| 3572 | } |
| 3573 | else |
| 3574 | h = isNotHomog; |
| 3575 | if (h==isHomog) |
| 3576 | { |
| 3577 | strat->LazyPass*=2; |
| 3578 | } |
| 3579 | strat->homog=h; |
| 3580 | #ifdef KDEBUG |
| 3581 | idTest(F); |
| 3582 | #endif |
| 3583 | |
| 3584 | initBuchMoraCrit(strat); /*set Gebauer, honey, sugarCrit*/ |
| 3585 | if(rField_is_Ring(currRing)) |
| 3586 | initBuchMoraPosRing(strat); |
| 3587 | else |
| 3588 | initBuchMoraPos(strat); |
| 3589 | initBba(strat); |
| 3590 | /*set enterS, spSpolyShort, reduce, red, initEcart, initEcartPair*/ |
| 3591 | strat->posInL=posInL0; /* ord according pComp */ |
| 3592 | |
| 3593 | /*Shdl=*/initBuchMora(F, Q, strat); |
| 3594 | reduc = olddeg = 0; |
| 3595 | |
| 3596 | #ifndef NO_BUCKETS |
| 3597 | if (!TEST_OPT_NOT_BUCKETS) |
| 3598 | strat->use_buckets = 1; |
| 3599 | #endif |
| 3600 | |
| 3601 | // redtailBBa against T for inhomogeneous input |
| 3602 | if (!TEST_OPT_OLDSTD) |
| 3603 | withT = ! strat->homog; |
no test coverage detected