2 *interreduces F */ old version
| 3450 | */ |
| 3451 | // old version |
| 3452 | ideal kInterRedOld (ideal F,const ideal Q) |
| 3453 | { |
| 3454 | int j; |
| 3455 | kStrategy strat = new skStrategy; |
| 3456 | |
| 3457 | ideal tempF = F; |
| 3458 | ideal tempQ = Q; |
| 3459 | |
| 3460 | #ifdef HAVE_PLURAL |
| 3461 | if(rIsSCA(currRing)) |
| 3462 | { |
| 3463 | const unsigned int m_iFirstAltVar = scaFirstAltVar(currRing); |
| 3464 | const unsigned int m_iLastAltVar = scaLastAltVar(currRing); |
| 3465 | tempF = id_KillSquares(F, m_iFirstAltVar, m_iLastAltVar, currRing); |
| 3466 | |
| 3467 | // this should be done on the upper level!!! : |
| 3468 | // tempQ = SCAQuotient(currRing); |
| 3469 | |
| 3470 | if(Q == currRing->qideal) |
| 3471 | tempQ = SCAQuotient(currRing); |
| 3472 | } |
| 3473 | #endif |
| 3474 | |
| 3475 | // if (TEST_OPT_PROT) |
| 3476 | // { |
| 3477 | // writeTime("start InterRed:"); |
| 3478 | // mflush(); |
| 3479 | // } |
| 3480 | //strat->syzComp = 0; |
| 3481 | strat->kAllAxis = (currRing->ppNoether) != NULL; |
| 3482 | strat->kNoether=pCopy((currRing->ppNoether)); |
| 3483 | strat->ak = id_RankFreeModule(tempF,currRing); |
| 3484 | initBuchMoraCrit(strat); |
| 3485 | strat->NotUsedAxis = (BOOLEAN *)omAlloc(((currRing->N)+1)*sizeof(BOOLEAN)); |
| 3486 | for (j=(currRing->N); j>0; j--) strat->NotUsedAxis[j] = TRUE; |
| 3487 | strat->enterS = enterSBba; |
| 3488 | strat->posInT = posInT17; |
| 3489 | strat->initEcart = initEcartNormal; |
| 3490 | strat->sl = -1; |
| 3491 | strat->tl = -1; |
| 3492 | strat->tmax = setmaxT; |
| 3493 | strat->T = initT(); |
| 3494 | strat->R = initR(); |
| 3495 | strat->sevT = initsevT(); |
| 3496 | if (rHasLocalOrMixedOrdering(currRing)) strat->honey = TRUE; |
| 3497 | initS(tempF, tempQ, strat); |
| 3498 | if (TEST_OPT_REDSB) |
| 3499 | strat->noTailReduction=FALSE; |
| 3500 | updateS(TRUE,strat); |
| 3501 | if (TEST_OPT_REDSB && TEST_OPT_INTSTRATEGY) |
| 3502 | completeReduce(strat); |
| 3503 | //else if (TEST_OPT_PROT) PrintLn(); |
| 3504 | cleanT(strat); |
| 3505 | if (strat->kNoether!=NULL) pLmFree(&strat->kNoether); |
| 3506 | omFreeSize((ADDRESS)strat->T,strat->tmax*sizeof(TObject)); |
| 3507 | omFreeSize((ADDRESS)strat->ecartS,IDELEMS(strat->Shdl)*sizeof(int)); |
| 3508 | omFreeSize((ADDRESS)strat->sevS,IDELEMS(strat->Shdl)*sizeof(unsigned long)); |
| 3509 | omFreeSize((ADDRESS)strat->NotUsedAxis,((currRing->N)+1)*sizeof(BOOLEAN)); |
no test coverage detected