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

Function ksReducePolyTailSig

kernel/GBEngine/kstd2.cc:1288–1313  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1286}
1287
1288KINLINE int ksReducePolyTailSig(LObject* PR, TObject* PW, LObject* Red, kStrategy strat)
1289{
1290 BOOLEAN ret;
1291 number coef;
1292 assume(PR->GetLmCurrRing() != PW->GetLmCurrRing());
1293 if(!rField_is_Ring(currRing))
1294 Red->HeadNormalize();
1295 /*
1296 printf("------------------------\n");
1297 pWrite(Red->GetLmCurrRing());
1298 */
1299 if(rField_is_Ring(currRing))
1300 ret = ksReducePolySigRing(Red, PW, 1, NULL, &coef, strat);
1301 else
1302 ret = ksReducePolySig(Red, PW, 1, NULL, &coef, strat);
1303 if (!ret)
1304 {
1305 if (! n_IsOne(coef, currRing->cf) && !rField_is_Ring(currRing))
1306 {
1307 PR->Mult_nn(coef);
1308 // HANNES: mark for Normalize
1309 }
1310 n_Delete(&coef, currRing->cf);
1311 }
1312 return ret;
1313}
1314
1315/*2
1316* reduction procedure for signature-based standard

Callers 1

redtailSbaFunction · 0.85

Calls 7

ksReducePolySigRingFunction · 0.85
ksReducePolySigFunction · 0.85
n_IsOneFunction · 0.85
n_DeleteFunction · 0.85
GetLmCurrRingMethod · 0.80
HeadNormalizeMethod · 0.80
Mult_nnMethod · 0.80

Tested by

no test coverage detected