488 if ((strat->
Ll==-1) && (strat->
sl>=0))
493 while (strat->
Ll >= 0)
511 strat->
P = strat->
L[strat->
Ll];
534 red_result = strat->
red(&strat->
P,strat);
535 if (strat->
P.p !=
NULL)
561 fac->m[0]=strat->
P.p;
596 if (n->
sl==-1) pos=0;
634 for(ii=0; ii<=n->
tl; ii++)
636 if (n->
R[ii]->p==n->
L[i].p1) { n->
L[
i].i_r1=ii;
break; }
639 for(ii=0; ii<=n->
tl; ii++)
641 if (n->
R[ii]->p==n->
L[i].p2) { n->
L[
i].i_r2=ii;
break; }
657 ideal r=
idAdd(n->
D,fac_copy);
669 fac_copy->m[
i]=
pCopy(fac->m[i]);
678 if (n->
D->m[j]!=
NULL)
685 Print(
"empty set s(%d) because: D[%d]:", n->
nr,j);
697 if (n->
S[i]==n->
T[n->
tl].p)
725 if ((n->
sl>=0)&&(n->
S[0]!=
NULL))
733 Print(
"empty set s(%d) because:L[%d]\n",n->
nr,Lj->nr);
735 Print(
"empty set s(%d) because:\n",n->
nr);
745 if (n->
S[i]==n->
T[n->
tl].p)
774 if ((strat->
Ll==-1) && (strat->
sl>=0))
797 return (strat->
Shdl);
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
#define TEST_OPT_DEGBOUND
void message(int i, int *reduc, int *olddeg, kStrategy strat, int red_result)
#define idDelete(H)
delete an ideal
void messageStat(int hilbcount, kStrategy strat)
#define omFreeSize(addr, size)
void enterpairs(poly h, int k, int ecart, int pos, kStrategy strat, int atR)
KINLINE poly ksOldCreateSpoly(poly p1, poly p2, poly spNoether, ring r)
static void kDeleteLcm(LObject *P)
int(* red)(LObject *L, kStrategy strat)
KINLINE poly redtailBba(poly p, int pos, kStrategy strat, BOOLEAN normalize)
void iiWriteMatrix(matrix im, const char *n, int dim, const ring r, int spaces)
set spaces to zero by default
void enterT(LObject &p, kStrategy strat, int atT)
void deleteInL(LSet set, int *length, int j, kStrategy strat)
void(* initEcart)(TObject *L)
#define TEST_OPT_INTSTRATEGY
kStrategy kStratCopy(kStrategy o)
void(* enterS)(LObject &h, int pos, kStrategy strat, int atR)
void PrintS(const char *s)
static unsigned pLength(poly a)
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
static void completeReduceFac(kStrategy strat, ideal_list FL)
void pNorm(poly p, const ring R=currRing)
int posInS(const kStrategy strat, const int length, const poly p, const int ecart_p)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void updateResult(ideal r, ideal Q, kStrategy strat)
static void pLmFree(poly p)
frees the space of the monomial m, assumes m != NULL coef is not freed, m is not advanced ...
BOOLEAN k_factorize(poly p, ideal &rfac, ideal &fac_copy)
ideal idAdd(ideal h1, ideal h2)
h1 + h2
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
void exitBuchMora(kStrategy strat)
#define pCopy(p)
return a copy of the poly