MCPcopy Create free account
hub / github.com/Singular/Singular / enterSBbaShift

Function enterSBbaShift

kernel/GBEngine/kutil.cc:8891–8907  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8889
8890#ifdef HAVE_SHIFTBBA
8891void enterSBbaShift (LObject &p,int atS,kStrategy strat, int atR)
8892{
8893 enterSBba(p, atS, strat, atR);
8894
8895 int maxPossibleShift = p_mLPmaxPossibleShift(p.p, strat->tailRing);
8896 for (int i = maxPossibleShift; i > 0; i--)
8897 {
8898 // NOTE: don't use "shared tails" here. In rare cases it can cause problems
8899 // in `kNF2` because of lazy poly normalizations.
8900 LObject qq(p_Copy(p.p, strat->tailRing));
8901 p_mLPshift(qq.p, i, strat->tailRing);
8902 qq.shift = i;
8903 strat->initEcart(&qq); // initEcartBBA sets length, pLength, FDeg and ecart
8904 int atS = posInS(strat, strat->sl, qq.p, qq.ecart); // S needs to stay sorted because this is for example assumed when searching S later
8905 enterSBba(qq, atS, strat, -1);
8906 }
8907}
8908#endif
8909
8910/*2

Callers

nothing calls this directly

Calls 5

enterSBbaFunction · 0.85
p_mLPmaxPossibleShiftFunction · 0.85
p_CopyFunction · 0.85
p_mLPshiftFunction · 0.85
posInSFunction · 0.85

Tested by

no test coverage detected