| 136 | } |
| 137 | |
| 138 | BOOLEAN kVerify2(ideal F, ideal Q) |
| 139 | /* parallel version */ |
| 140 | { |
| 141 | #ifdef HAVE_VSPACE |
| 142 | assume (!rIsNCRing(currRing)); |
| 143 | kStrategy strat=new skStrategy; |
| 144 | strat->ak = id_RankFreeModule(F,currRing); |
| 145 | strat->kModW=kModW=NULL; |
| 146 | strat->kHomW=kHomW=NULL; |
| 147 | initBuchMoraCrit(strat); /*set Gebauer, honey, sugarCrit*/ |
| 148 | initBuchMoraPos(strat); |
| 149 | initBba(strat); |
| 150 | initBuchMora(F, Q,strat); |
| 151 | /*initBuchMora:*/ |
| 152 | strat->tail = pInit(); |
| 153 | /*- set s -*/ |
| 154 | strat->sl = -1; |
| 155 | /*- set L -*/ |
| 156 | strat->Lmax = ((IDELEMS(F)+setmaxLinc-1)/setmaxLinc)*setmaxLinc; |
| 157 | strat->Ll = -1; |
| 158 | strat->L = initL(strat->Lmax); |
| 159 | /*- set B -*/ |
| 160 | strat->Bmax = setmaxL; |
| 161 | strat->Bl = -1; |
| 162 | strat->B = initL(); |
| 163 | /*- set T -*/ |
| 164 | strat->tl = -1; |
| 165 | strat->tmax = setmaxT; |
| 166 | strat->T = initT(); |
| 167 | strat->R = initR(); |
| 168 | strat->sevT = initsevT(); |
| 169 | /*- init local data struct.---------------------------------------- -*/ |
| 170 | strat->P.ecart=0; |
| 171 | strat->P.length=0; |
| 172 | strat->P.pLength=0; |
| 173 | initS(F, Q,strat); /*sets also S, ecartS, fromQ */ |
| 174 | strat->fromT = FALSE; |
| 175 | strat->noTailReduction = FALSE; |
| 176 | /*----------------------------------------------------------------------*/ |
| 177 | /* build pairs */ |
| 178 | if (strat->fromQ!=NULL) |
| 179 | { |
| 180 | for(int i=1; i<=strat->sl;i++) |
| 181 | { |
| 182 | initenterpairs(strat->S[i],i-1,0,strat->fromQ[i],strat); |
| 183 | } |
| 184 | } |
| 185 | else |
| 186 | { |
| 187 | for(int i=1; i<=strat->sl;i++) |
| 188 | { |
| 189 | initenterpairs(strat->S[i],i-1,0,FALSE,strat); |
| 190 | } |
| 191 | } |
| 192 | if (TEST_OPT_PROT) printf("%d pairs created\n",strat->Ll+1); |
| 193 | if (TEST_OPT_DEGBOUND) |
| 194 | { |
| 195 | for(int i=strat->Ll; i>=0; i--) |
no test coverage detected