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

Function redFirstShift

kernel/GBEngine/kstd2.cc:4954–5071  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4952*/
4953#ifdef HAVE_SHIFTBBA
4954int redFirstShift (LObject* h,kStrategy strat)
4955{
4956 if (h->IsNull()) return 0;
4957
4958 int at, reddeg,d;
4959 int pass = 0;
4960 int j = 0;
4961
4962 if (! strat->homog)
4963 {
4964 d = h->GetpFDeg() + h->ecart;
4965 reddeg = strat->LazyDegree+d;
4966 }
4967 h->SetShortExpVector();
4968 loop
4969 {
4970 j = kFindDivisibleByInT(strat, h);
4971 if (j < 0)
4972 {
4973 h->SetDegStuffReturnLDeg(strat->LDegLast);
4974 return 1;
4975 }
4976
4977 if (!TEST_OPT_INTSTRATEGY)
4978 strat->T[j].pNorm();
4979#ifdef KDEBUG
4980 if (TEST_OPT_DEBUG)
4981 {
4982 PrintS("reduce ");
4983 h->wrp();
4984 PrintS(" with ");
4985 strat->T[j].wrp();
4986 }
4987#endif
4988 ksReducePoly(h, &(strat->T[j]), strat->kNoetherTail(), NULL, NULL, strat);
4989
4990#ifdef KDEBUG
4991 if (TEST_OPT_DEBUG)
4992 {
4993 PrintS("\nto ");
4994 wrp(h->p);
4995 PrintLn();
4996 }
4997#endif
4998 if (h->IsNull())
4999 {
5000 kDeleteLcm(h);
5001 h->Clear();
5002 return 0;
5003 }
5004 h->SetShortExpVector();
5005
5006#if 0
5007 if ((strat->syzComp!=0) && !strat->honey)
5008 {
5009 if ((strat->syzComp>0) &&
5010 (h->Comp() > strat->syzComp))
5011 {

Callers

nothing calls this directly

Calls 15

kFindDivisibleByInTFunction · 0.85
PrintSFunction · 0.85
ksReducePolyFunction · 0.85
wrpFunction · 0.85
kDeleteLcmFunction · 0.85
enterLFunction · 0.85
IsNullMethod · 0.80
GetpFDegMethod · 0.80
SetShortExpVectorMethod · 0.80
SetDegStuffReturnLDegMethod · 0.80
pNormMethod · 0.80
wrpMethod · 0.80

Tested by

no test coverage detected