Changeset 124970 in git
- Timestamp:
- May 2, 2020, 11:22:27 AM (4 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 72c30369edc68da6cbab1a305ed752d2a847ec63
- Parents:
- 9d58a7caf741db5e365f7257bd91048bb1bddf31
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/GBEngine/kutil.cc
r9d58a7c r124970 12789 12789 12790 12790 int degbound = currRing->N/currRing->isLPring; 12791 int neededShift = p_lastVblock - 1;12791 int neededShift = p_lastVblock - ((pGetComp(p) > 0 || pGetComp(q) > 0) ? 0 : 1); // in the module case, product criterion does not hold 12792 12792 int maxPossibleShift = degbound - q_lastVblock; 12793 12793 int maxShift = si_min(neededShift, maxPossibleShift); … … 12844 12844 #endif 12845 12845 { 12846 assume(q_shift <= p_lastVblock - 1); // there should be an overlap12846 assume(q_shift <= p_lastVblock - ((pGetComp(q) > 0 || pGetComp(p) > 0) ? 0 : 1)); // there should be an overlap (in the module case epsilon overlap is also allowed) 12847 12847 enterOnePairShift(q, p, ecartp, p_isFromQ, strat, -1, ecartq, q_isFromQ, q_shift, -1); 12848 12848 } … … 13283 13283 poly s = strat->S[j]; 13284 13284 int s_lastVblock = pmLastVblock(s); 13285 if (i < s_lastVblock )13285 if (i < s_lastVblock || (pGetComp(s) > 0 && i == s_lastVblock)) // in the module case, product criterion does not hold (note: comp h is always zero here) 13286 13286 enterOnePairWithoutShifts(j, hh, s, ecart, isFromQ, strat, atR, s_lastVblock, i); 13287 13287 #ifdef HAVE_RINGS … … 13320 13320 poly s = strat->S[j]; 13321 13321 int s_lastVblock = pmLastVblock(s); 13322 if (i < s_lastVblock )13322 if (i < s_lastVblock || (pGetComp(s) > 0 && i == s_lastVblock)) // in the module case, product criterion does not hold (note: comp h is always zero here) 13323 13323 enterOnePairWithoutShifts(j, hh, s, ecart, isFromQ, strat, atR, s_lastVblock, i); 13324 13324 #ifdef HAVE_RINGS … … 13336 13336 #endif 13337 13337 } 13338 if (i < h_lastVblock) 13338 if (i < h_lastVblock) // in the module case, product criterion does not hold (note: comp h is always zero here) 13339 13339 enterOnePairWithoutShifts(-1, hh, h, ecart, isFromQ, strat, atR, h_lastVblock, i); 13340 13340 #ifdef HAVE_RINGS … … 13383 13383 // pairs (shifts(s[1..k]),h), (s[1..k],h) 13384 13384 for (j=0; j<=k; j++) 13385 13385 { 13386 13386 if ((pGetComp(h)==pGetComp(strat->S[j])) 13387 13387 || (pGetComp(strat->S[j])==0)) … … 13402 13402 poly s = strat->S[j]; 13403 13403 int s_lastVblock = pmLastVblock(s); 13404 if (i < s_lastVblock)13404 if (i <= s_lastVblock) // in the module case, product criterion does not hold 13405 13405 enterOnePairWithoutShifts(j, hh, s, ecart, isFromQ, strat, atR, s_lastVblock, i); 13406 13406 #ifdef HAVE_RINGS … … 13419 13419 } 13420 13420 } 13421 if (i < h_lastVblock)13421 if (i <= h_lastVblock) // in the module case, product criterion does not hold 13422 13422 enterOnePairWithoutShifts(-1, hh, h, ecart, isFromQ, strat, atR, h_lastVblock, i); 13423 13423 #ifdef HAVE_RINGS
Note: See TracChangeset
for help on using the changeset viewer.