1035 PrintS(
"<gnc_gr_bba>\n");
1076 while (strat->
Ll >= 0)
1095 strat->
P = strat->
L[strat->
Ll];
1099 if (strat->
P.p !=
NULL)
1117 #ifdef HAVE_RATGRING
1141 if (strat->
P.p !=
NULL)
1145 &olddeg,&reduc,strat, red_result);
1157 strat->
red(&strat->
P,strat);
1166 if (strat->
P.p !=
NULL)
1175 #ifdef HAVE_RATGRING
1181 PrintS(
"unit element detected:");
1185 strat->
P.p =
pOne();
1190 int pos=
posInS(strat,strat->
sl,strat->
P.p, strat->
P.ecart);
1196 #ifdef HAVE_RATGRING
1225 if (strat->
sl==-1) pos=0;
1226 else pos=
posInS(strat,strat->
sl,strat->
P.p,strat->
P.ecart);
1228 strat->
enterS(strat->
P,pos,strat,-1);
1275 PrintS(
"</gnc_gr_bba>\n");
1280 return (strat->
Shdl);
int(* posInL)(const LSet set, const int length, LObject *L, const kStrategy strat)
void(* enterS)(LObject &h, int pos, kStrategy strat, int atR)
int(* posInT)(const TSet T, const int tl, LObject &h)
int(* red)(LObject *L, kStrategy strat)
void nc_gr_initBba(ideal F, kStrategy strat)
nc_gr_initBba is needed for sca_gr_bba and gr_bba.
KINLINE poly redtailBba(poly p, int pos, kStrategy strat, BOOLEAN normalize)
KINLINE void clearS(poly p, unsigned long p_sev, int *at, int *k, kStrategy strat)
void message(int i, int *reduc, int *olddeg, kStrategy strat, int red_result)
void initBuchMora(ideal F, ideal Q, kStrategy strat)
void enterpairs(poly h, int k, int ecart, int pos, kStrategy strat, int atR)
void initBuchMoraPos(kStrategy strat)
int posInL0(const LSet set, const int length, LObject *p, const kStrategy)
void exitBuchMora(kStrategy strat)
int posInS(const kStrategy strat, const int length, const poly p, const int ecart_p)
int posInT110(const TSet set, const int length, LObject &p)
void updateResult(ideal r, ideal Q, kStrategy strat)
void deleteInL(LSet set, int *length, int j, kStrategy strat)
void initBuchMoraCrit(kStrategy strat)
void completeReduce(kStrategy strat, BOOLEAN withT)
void messageSets(kStrategy strat)
void messageStat(int hilbcount, kStrategy strat)
static void kDeleteLcm(LObject *P)
static poly nc_CreateSpoly(const poly p1, const poly p2, const ring r)
#define TEST_OPT_INTSTRATEGY
#define TEST_OPT_DEGBOUND
poly p_Cleardenom(poly p, const ring r)
static void p_Delete(poly *p, const ring r)
void p_wrp(poly p, ring lmRing, ring tailRing)
void rChangeCurrRing(ring r)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static void pLmFree(poly p)
frees the space of the monomial m, assumes m != NULL coef is not freed, m is not advanced
poly nc_rat_CreateSpoly(poly pp1, poly pp2, int ishift, const ring r)
BOOLEAN p_LmIsConstantRat(const poly p, const ring r)
void PrintS(const char *s)
void rWrite(ring r, BOOLEAN details)
void rDebugPrint(const ring r)
static BOOLEAN rIsRatGRing(const ring r)