Changeset 08b6c4 in git
- Timestamp:
- Dec 24, 2019, 3:00:50 PM (4 years ago)
- Branches:
- (u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
- Children:
- b1bc248d073584573806dd68ddc187158bf5c279
- Parents:
- 096b8ab36ab29f6898e7739f784f9219646ca413
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/GBEngine/kutil.cc
r096b8ab r08b6c4 12767 12767 if (rField_is_Ring(currRing)) 12768 12768 { 12769 assume(q_shift <= p_lastVblock); 12769 assume(q_shift <= p_lastVblock); // we allow the special case where there is no overlap 12770 12770 enterOneStrongPolyAndEnterOnePairRingShift(q, p, ecartp, p_isFromQ, strat, -1, ecartq, q_isFromQ, q_shift, -1); 12771 12771 } … … 12773 12773 #endif 12774 12774 { 12775 int maxNeededShift = p_lastVblock - 1; 12776 assume(q_shift <= maxNeededShift); 12775 assume(q_shift <= p_lastVblock - 1); // there should be an overlap 12777 12776 enterOnePairShift(q, p, ecartp, p_isFromQ, strat, -1, ecartq, q_isFromQ, q_shift, -1); 12778 12777 } … … 13198 13197 { 13199 13198 poly s = strat->S[j]; 13200 enterOnePairWithoutShifts(j, hh, s, ecart, isFromQ, strat, atR, pmLastVblock(s), i); 13199 int s_lastVblock = pmLastVblock(s); 13200 if (i < s_lastVblock) 13201 enterOnePairWithoutShifts(j, hh, s, ecart, isFromQ, strat, atR, s_lastVblock, i); 13202 #ifdef HAVE_RINGS 13203 else if (rField_is_Ring(currRing)) 13204 { 13205 assume(i >= s_lastVblock); // this is always the case, but just to be very sure 13206 ideal fillers = id_MaxIdeal(i - s_lastVblock, currRing); 13207 for (int k = 0; k < IDELEMS(fillers); k++) 13208 { 13209 poly hhh = pLPCopyAndShiftLM(pp_mm_Mult(h, fillers->m[k], currRing), s_lastVblock); 13210 enterOnePairWithoutShifts(j, hhh, s, ecart, isFromQ, strat, atR, s_lastVblock, s_lastVblock); 13211 } 13212 idDelete(&fillers); 13213 } 13214 #endif 13201 13215 } 13202 13216 } … … 13210 13224 for (j=0; j<=k; j++) { 13211 13225 poly s = strat->S[j]; 13212 // TODO: cache lastVblock of s[1..k] for later use13213 13226 enterOnePairWithShifts(j, s, h, ecart, isFromQ, strat, atR, h_lastVblock, pmLastVblock(s)); 13214 13227 } … … 13257 13270 else 13258 13271 { 13272 assume(isFromQ == 0); // an element from Q should always has 0 component 13259 13273 new_pair=TRUE; 13260 13274 if (strat->rightGB) … … 13265 13279 || (pGetComp(strat->S[j])==0)) 13266 13280 { 13267 assume(isFromQ == 0); // this case is not handeled here and should also never happen13268 13281 poly s = strat->S[j]; 13269 13282 if (strat->fromQ != NULL && strat->fromQ[j])
Note: See TracChangeset
for help on using the changeset viewer.