 |
My Project
debian-1:4.1.2-p1+ds-2
|
Go to the source code of this file.
|
void | p_Setm_Syz (poly p, ring r, int *Components, long *ShiftedComponents) |
|
void | syDeletePair (SObject *so) |
|
void | syInitializePair (SObject *so) |
|
void | syCopyPair (SObject *argso, SObject *imso) |
|
void | syCompactifyPairSet (SSet sPairs, int sPlength, int first) |
|
void | syCompactify1 (SSet sPairs, int *sPlength, int first) |
|
poly | syRedtail (poly p, syStrategy syzstr, int index) |
|
static int | syChMin (intvec *iv) |
|
SRes | syInitRes (ideal arg, int *length, intvec *Tl, intvec *cw) |
|
long | syReorderShiftedComponents (long *sc, int n) |
|
static void | pResetSetm (poly p) |
|
void | syResetShiftedComponents (syStrategy syzstr, int index, int hilb) |
|
static BOOLEAN | syOrder (poly p, syStrategy syzstr, int index, int realcomp) |
|
static intvec * | syLinStrat (SSet nextPairs, syStrategy syzstr, int howmuch, int index) |
|
void | syEnlargeFields (syStrategy syzstr, int index) |
|
static void | syRedNextPairs (SSet nextPairs, syStrategy syzstr, int howmuch, int index) |
|
static void | syRedGenerOfCurrDeg (syStrategy syzstr, int deg, int index) |
|
void | syEnterPair (SSet sPairs, SObject *so, int *sPlength, int) |
|
void | syEnterPair (syStrategy syzstr, SObject *so, int *sPlength, int index) |
|
static void | syCreateNewPairs (syStrategy syzstr, int index, int newEl) |
|
static SSet | syChosePairsPutIn (syStrategy syzstr, int *index, int *howmuch, int *actdeg, int an, int en) |
|
SSet | syChosePairs (syStrategy syzstr, int *index, int *howmuch, int *actdeg) |
|
int | syInitSyzMod (syStrategy syzstr, int index, int init) |
|
void | syKillComputation (syStrategy syzstr, ring r) |
|
resolvente | syReorder (resolvente res, int length, syStrategy syzstr, BOOLEAN toCopy, resolvente totake) |
|
intvec * | syBettiOfComputation (syStrategy syzstr, BOOLEAN minim, int *row_shift, intvec *weights) |
|
int | sySize (syStrategy syzstr) |
|
int | syDim (syStrategy syzstr) |
|
syStrategy | syCopy (syStrategy syzstr) |
|
static void | syPrintEmptySpaces (int i) |
|
static void | syPrintEmptySpaces1 (int i) |
|
static int | syLengthInt (int i) |
|
void | syPrint (syStrategy syzstr, const char *sn) |
|
static poly | syStripOutCopy (poly p, intvec *toStrip) |
|
static poly | syMinimizeP1 (int toMin, syStrategy syzstr, intvec *ordn, int index, intvec *toStrip) |
|
void | syKillEmptyEntres (resolvente res, int length) |
|
static intvec * | syToStrip (syStrategy syzstr, int index) |
|
static intvec * | syOrdPairs (SSet sPairs, int length) |
|
static resolvente | syReadOutMinimalRes (syStrategy syzstr, BOOLEAN computeStd=FALSE) |
|
syStrategy | syMinimize (syStrategy syzstr) |
|
syStrategy | syLaScala3 (ideal arg, int *length) |
|
syStrategy | syLaScala (ideal arg, int &maxlength, intvec *weights) |
|
◆ p_Setm_Syz()
void p_Setm_Syz |
( |
poly |
p, |
|
|
ring |
r, |
|
|
int * |
Components, |
|
|
long * |
ShiftedComponents |
|
) |
| |
◆ pResetSetm()
static void pResetSetm |
( |
poly |
p | ) |
|
|
static |
◆ syBettiOfComputation()
Don't change the syzstr???
Definition at line 1754 of file syz1.cc.
1768 if ((*weights)[
i]!=(*(syzstr->
weights[0]))[
i])
1786 if ((fullres==
NULL) && (minres==
NULL))
◆ syChMin()
static int syChMin |
( |
intvec * |
iv | ) |
|
|
static |
Definition at line 269 of file syz1.cc.
278 if ((
j<0) || ((*iv)[
i]<
j))
◆ syChosePairs()
SSet syChosePairs |
( |
syStrategy |
syzstr, |
|
|
int * |
index, |
|
|
int * |
howmuch, |
|
|
int * |
actdeg |
|
) |
| |
◆ syChosePairsPutIn()
static SSet syChosePairsPutIn |
( |
syStrategy |
syzstr, |
|
|
int * |
index, |
|
|
int * |
howmuch, |
|
|
int * |
actdeg, |
|
|
int |
an, |
|
|
int |
en |
|
) |
| |
|
static |
Definition at line 1180 of file syz1.cc.
1184 int newdeg=*actdeg,newindex=-1,
i,t,sldeg;
1194 sldeg = (*actdeg)+*
index;
1202 if ((resPairs[*
index])[
i].order == sldeg)
1208 && ((resPairs[*
index])[
i].order == sldeg))
1225 if ((resPairs[*
index])[
i].order == sldeg)
1231 && ((resPairs[*
index])[
i].order == *actdeg))
1258 if ((resPairs[*
index])[
i].order > t)
1259 t = (resPairs[*
index])[
i].order;
1261 if ((t>*actdeg+*
index) && ((newdeg==*actdeg) || (t<newdeg+*
index)))
◆ syCompactify1()
void syCompactify1 |
( |
SSet |
sPairs, |
|
|
int * |
sPlength, |
|
|
int |
first |
|
) |
| |
Definition at line 131 of file syz1.cc.
136 while (
k+kk<*sPlength)
◆ syCompactifyPairSet()
void syCompactifyPairSet |
( |
SSet |
sPairs, |
|
|
int |
sPlength, |
|
|
int |
first |
|
) |
| |
Definition at line 103 of file syz1.cc.
108 while (
k+kk<sPlength)
◆ syCopy()
◆ syCopyPair()
void syCopyPair |
( |
SObject * |
argso, |
|
|
SObject * |
imso |
|
) |
| |
Definition at line 81 of file syz1.cc.
94 (*argso).isNotMinimal =
NULL;
96 (*argso).reference = -1;
◆ syCreateNewPairs()
static void syCreateNewPairs |
( |
syStrategy |
syzstr, |
|
|
int |
index, |
|
|
int |
newEl |
|
) |
| |
|
static |
Definition at line 1068 of file syz1.cc.
1074 int first,pos,jj,j1;
1080 while ((
k>0) && (rs[
k-1]==
NULL))
k--;
1081 if (newEl>=
k)
return;
1089 for (
j=newEl;
j<
k;
j++)
1094 for (
i=first;
i<pos;
i++)
1127 for (
i=first;
i<pos;
i++)
1135 for (ll=0;ll<(*syzstr->
Tl)[
index];ll++)
1146 temp[ll].isNotMinimal = (syzstr->
resPairs[
index])[ll].isNotMinimal;
1153 tso.lcm =
p = nPm[ii];
1164 tso.order += (*syzstr->
cw)[jj-1];
1171 tso.isNotMinimal =
NULL;
◆ syDeletePair()
void syDeletePair |
( |
SObject * |
so | ) |
|
Definition at line 43 of file syz1.cc.
55 (*so).isNotMinimal =
NULL;
◆ syDim()
Definition at line 1848 of file syz1.cc.
1857 while ((
l>0) && (rP[
l-1]==
NULL))
l--;
1858 if (
l==0)
return -1;
1863 while ((
i<(*syzstr->
Tl)[
l]) &&
1865 (rP[
l][
i].isNotMinimal!=
NULL))
1869 if ((
i<(*syzstr->
Tl)[
l]) &&
1871 (rP[
l][
i].isNotMinimal==
NULL))
◆ syEnlargeFields()
void syEnlargeFields |
( |
syStrategy |
syzstr, |
|
|
int |
index |
|
) |
| |
◆ syEnterPair() [1/2]
void syEnterPair |
( |
SSet |
sPairs, |
|
|
SObject * |
so, |
|
|
int * |
sPlength, |
|
|
int |
|
|
) |
| |
Definition at line 984 of file syz1.cc.
987 int ll,
k,no=(*so).order,sP=*sPlength,
i;
989 if ((sP==0) || (sPairs[sP-1].order<=no))
1000 if ((sPairs[an].order<=no) && (sPairs[an+1].order>no))
1005 else if ((sPairs[en].order<=no) && (sPairs[en+1].order>no))
1010 else if (sPairs[an].order>no)
1017 PrintS(
"Hier ist was faul!\n");
1022 if (sPairs[
i].order <= no)
1028 for (
k=(*sPlength);
k>ll;
k--)
◆ syEnterPair() [2/2]
void syEnterPair |
( |
syStrategy |
syzstr, |
|
|
SObject * |
so, |
|
|
int * |
sPlength, |
|
|
int |
index |
|
) |
| |
Definition at line 1034 of file syz1.cc.
1039 if (*sPlength>=(*syzstr->
Tl)[
index])
1042 for (ll=0;ll<(*syzstr->
Tl)[
index];ll++)
1053 temp[ll].isNotMinimal = (syzstr->
resPairs[
index])[ll].isNotMinimal;
1055 temp[ll].reference = (syzstr->
resPairs[
index])[ll].reference;
◆ syInitializePair()
void syInitializePair |
( |
SObject * |
so | ) |
|
Definition at line 62 of file syz1.cc.
74 (*so).isNotMinimal =
NULL;
◆ syInitRes()
Definition at line 292 of file syz1.cc.
306 (resPairs[0])[
i].syz = (
arg->m[(*iv)[
i]-1]);
322 (resPairs[0])[
i].syz =
arg->m[
j];
324 (resPairs[0])[
i].order = (*iv)[
j];
328 if (iv!=
NULL)
delete iv;
◆ syInitSyzMod()
int syInitSyzMod |
( |
syStrategy |
syzstr, |
|
|
int |
index, |
|
|
int |
init |
|
) |
| |
Definition at line 1458 of file syz1.cc.
1470 for (
int i=0;
i<init;
i++)
1481 syzstr->
sev[
index] = (
unsigned long*)
omAlloc0(init*
sizeof(
unsigned long));
◆ syKillComputation()
void syKillComputation |
( |
syStrategy |
syzstr, |
|
|
ring |
r |
|
) |
| |
◆ syKillEmptyEntres()
void syKillEmptyEntres |
( |
resolvente |
res, |
|
|
int |
length |
|
) |
| |
Definition at line 2199 of file syz1.cc.
2213 changes =
new intvec(rj+1,1,-1);
2214 while ((rj>0) && (ri->m[rj-1]==
NULL)) rj--;
2220 ri->m[
j] = ri->m[
j+
k];
2221 (*changes)[
j+
k+1] =
j+1;
2229 for (jj=
j;jj<rj;jj++)
◆ syLaScala()
Definition at line 2558 of file syz1.cc.
2587 syzstr->
length = maxlength;
2600 for (
i=0;
i<=
arg->rank;
i++)
2607 syzstr->
Tl =
new intvec(maxlength);
2612 if (temp->m[
i]!=
NULL)
2615 if (
j<actdeg) actdeg =
j;
2635 syzstr->
sev = (
unsigned long **)
omAlloc0((maxlength+1)*
sizeof(
unsigned long *));
2645 while (nextPairs!=
NULL)
2667 if (
index<(maxlength-1))
2677 if (origR != syzstr->
syRing)
◆ syLaScala3()
Definition at line 2432 of file syz1.cc.
2463 for (
i=0;
i<=
arg->rank;
i++)
2475 if (temp->m[
i]!=
NULL)
2478 if (
j<actdeg) actdeg =
j;
2502 while (nextPairs!=
NULL)
2535 if (origR != syzstr->
syRing)
◆ syLengthInt()
static int syLengthInt |
( |
int |
i | ) |
|
|
static |
◆ syLinStrat()
Definition at line 648 of file syz1.cc.
652 int i=howmuch-1,i1=0,i2,i3,
l,ll;
671 while ((
l<ll) && (!isDivisible))
675 isDivisible = isDivisible ||
701 for (i1=0;i1<howmuch;i1++)
712 if (((*spl)[i1]>=0) && ((*spl)[i1]<(*spl)[i2]))
720 (*result)[i3] = i2+1;
◆ syMinimize()
◆ syMinimizeP1()
Definition at line 2150 of file syz1.cc.
2154 int ii=0,
i,tc,lp,ltS=-1;
2157 poly tempStripped=
NULL;
2161 while ((ii<ordn->
length()) && ((*ordn)[ii]!=-1) &&
2162 (sPairs[(*ordn)[ii]].syzind!=toMin))
2169 if (sPairs[
i].isNotMinimal!=
NULL)
◆ syOrder()
Definition at line 460 of file syz1.cc.
479 if (realcomp==0) realcomp=1;
492 if (trind1[orc]>tc+1)
break;
493 else if (trind1[orc] == tc+1)
506 WerrorS(
"orderedRes to small");
517 if ((LONG_MAX - same_comp) <= shind[ie-1])
520 assume((LONG_MAX - same_comp) > shind[ie-1]);
526 assume(ie == 1 || shind[ie-1] > 0);
527 shind[ie] = shind[ie-1] + same_comp;
539 if ((same_comp && prev + 2 >=
next) || (!same_comp &&
next - prev < 4))
544 assume((same_comp && prev + 2 <
next) || (!same_comp &&
next - prev >= 4));
550 for (
k=ie;
k >
j+1;
k--) shind[
k] = shind[
k-1];
555 shind[
j+1] = prev + 1;
556 assume(shind[
j+1] + 1 < shind[
j+2]);
562 shind[
j+1] = prev + ((
next - prev) >> 1);
563 assume (shind[
j] + 1 < shind[
j+1] && shind[
j+1] + 1 < shind[
j+2]);
591 trind[
k] = trind[
k-1];
592 trind[realcomp] =
j+1;
◆ syOrdPairs()
static intvec* syOrdPairs |
( |
SSet |
sPairs, |
|
|
int |
length |
|
) |
| |
|
static |
Definition at line 2274 of file syz1.cc.
2278 int i,
j=0,
k=-1,
l,ii;
2285 if (sPairs[
i].syzind>
k)
2289 l = sPairs[
i].syzind;
2294 if (sPairs[
i].syzind<
l)
2296 l = sPairs[
i].syzind;
◆ syPrint()
Definition at line 1933 of file syz1.cc.
1941 PrintS(
"No resolution defined\n");
1947 if (resolution==
NULL)
1954 (*resolution)[0] = syzstr->
res[1]->rank;
1959 while ((
j<(*syzstr->
Tl)[
k]) &&
1962 if (rP[
k][
j].isNotMinimal==
NULL)
1963 ((*resolution)[
k+1])++;
1983 (*resolution)[
k+1] =
idElem(rr[
k]);
1994 if ((
k>=resolution->
length()) || ((*resolution)[
k]==0))
1996 Print(
"%d",(*resolution)[
k]);
2004 if ((
k>=resolution->
length()) || ((*resolution)[
k]==0))
2007 if (((
k+1)>=resolution->
length()) || ((*resolution)[(
k+1)]==0))
2018 if ((
k>=resolution->
length()) || ((*resolution)[
k]==0))
2028 PrintS(
"resolution not minimized yet\n");
◆ syPrintEmptySpaces()
static void syPrintEmptySpaces |
( |
int |
i | ) |
|
|
static |
◆ syPrintEmptySpaces1()
static void syPrintEmptySpaces1 |
( |
int |
i | ) |
|
|
static |
◆ syReadOutMinimalRes()
Definition at line 2312 of file syz1.cc.
2323 tres[0] = syzstr->
res[1];
2351 if ((sPairs[
i].isNotMinimal==
NULL) && (sPairs[
i].
lcm!=
NULL))
2353 l = sPairs[
i].syzind;
2370 for (
i=(*syzstr->
Tl)[0]-1;
i>=0;
i--)
2372 if (sPairs[
i].syzind>=0)
2374 tres[1]->m[sPairs[
i].syzind] =
pCopy(syzstr->
res[1]->m[sPairs[
i].syzind]);
◆ syRedGenerOfCurrDeg()
static void syRedGenerOfCurrDeg |
( |
syStrategy |
syzstr, |
|
|
int |
deg, |
|
|
int |
index |
|
) |
| |
|
static |
Definition at line 914 of file syz1.cc.
922 while ((
i<(*syzstr->
Tl)[
index-1]) && (((sPairs)[
i].syz==
NULL) ||
923 ((sPairs)[
i].order<deg)))
925 if ((
i>=(*syzstr->
Tl)[
index-1]) || ((sPairs)[
i].order>deg))
return;
926 while ((
i<(*syzstr->
Tl)[
index-1]) && (((sPairs)[
i].syz==
NULL) ||
927 ((sPairs)[
i].order==deg)))
929 if ((sPairs)[
i].syz!=
NULL)
933 ((sPairs)[
i].syz!=
NULL))
947 if ((sPairs)[
i].syz !=
NULL)
956 if ((sPairs)[
i].isNotMinimal==
NULL)
966 (sPairs)[
i].syzind =
k;
976 (sPairs)[
i].syzind = -1;
◆ syRedNextPairs()
static void syRedNextPairs |
( |
SSet |
nextPairs, |
|
|
syStrategy |
syzstr, |
|
|
int |
howmuch, |
|
|
int |
index |
|
) |
| |
|
static |
Definition at line 767 of file syz1.cc.
787 if ((nextPairs==
NULL) || (howmuch==0))
return;
789 while ((ks>0) && (syzstr->
res[
index+1]->m[ks-1]==
NULL)) ks--;
795 tso = nextPairs[(*spl1)[
i]-1];
796 if ((tso.p1!=
NULL) && (tso.p2!=
NULL))
802 tso.syz =
pHead(tso.lcm);
877 tso.isNotMinimal =
p;
892 syzstr->
res[
index+1]->m[ks] = tso.syz;
903 nextPairs[(*spl1)[
i]-1] = tso;
◆ syRedtail()
poly syRedtail |
( |
poly |
p, |
|
|
syStrategy |
syzstr, |
|
|
int |
index |
|
) |
| |
◆ syReorder()
Definition at line 1640 of file syz1.cc.
1648 ring origR=syzstr->
syRing;
1661 ri1 = totake[
i-1]->m;
1707 fullres[
i-1]->m[
j] = q;
1732 fullres[
i-1] =
res[
i];
◆ syReorderShiftedComponents()
long syReorderShiftedComponents |
( |
long * |
sc, |
|
|
int |
n |
|
) |
| |
Definition at line 333 of file syz1.cc.
338 long new_comps = 0, new_space,
max;
343 if (sc[
i-1] + 1 < sc[
i]) holes++;
361 assume(new_space < SYZ_SHIFT_BASE && new_space >= 4);
363 long* tc = (
long*)
omAlloc(n*
sizeof(
long));
368 if (sc[
i-1] + 1 < sc[
i])
370 tc[
i] = tc[
i-1] + new_space;
◆ syResetShiftedComponents()
void syResetShiftedComponents |
( |
syStrategy |
syzstr, |
|
|
int |
index, |
|
|
int |
hilb |
|
) |
| |
◆ sySize()
◆ syStripOutCopy()
static poly syStripOutCopy |
( |
poly |
p, |
|
|
intvec * |
toStrip |
|
) |
| |
|
static |
◆ syToStrip()
◆ currcomponents
◆ currShiftedComponents
VAR long* currShiftedComponents =NULL |
#define SYZ_SHIFT_MAX_NEW_COMP_ESTIMATE
EXTERN_VAR omBin char_ptr_bin
int idElem(const ideal F)
count non-zero elements
void pTakeOutComp(poly *p, long comp, poly *q, int *lq, const ring R=currRing)
Splits *p into two polys: *q which consists of all monoms with component == comp and *p of all other ...
static intvec * syLinStrat(SSet nextPairs, syStrategy syzstr, int howmuch, int index)
void syMinimizeResolvente(resolvente res, int length, int first)
static poly syStripOutCopy(poly p, intvec *toStrip)
#define pGetComp(p)
Component.
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
void pNorm(poly p, const ring R=currRing)
static int syLengthInt(int i)
#define idDelete(H)
delete an ideal
void rChangeCurrRing(ring r)
#define pGetExp(p, i)
Exponent.
void pEnlargeSet(poly **p, int l, int increment)
void p_Setm_Syz(poly p, ring r, int *Components, long *ShiftedComponents)
number kBucketPolyRed(kBucket_pt bucket, poly p1, int l1, poly spNoether)
static void syRedGenerOfCurrDeg(syStrategy syzstr, int deg, int index)
static resolvente syReadOutMinimalRes(syStrategy syzstr, BOOLEAN computeStd=FALSE)
intvec * syBetti(resolvente res, int length, int *regularity, intvec *weights, BOOLEAN tomin, int *row_shift)
static intvec * syOrdPairs(SSet sPairs, int length)
static BOOLEAN length(leftv result, leftv arg)
void syEnlargeFields(syStrategy syzstr, int index)
static void pResetSetm(poly p)
const poly kBucketGetLm(kBucket_pt bucket)
BOOLEAN idTestHomModule(ideal m, ideal Q, intvec *w)
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
SSet syChosePairs(syStrategy syzstr, int *index, int *howmuch, int *actdeg)
VAR long * currShiftedComponents
void syEnterPair(SSet sPairs, SObject *so, int *sPlength, int)
void syCompactifyPairSet(SSet sPairs, int sPlength, int first)
void syKillEmptyEntres(resolvente res, int length)
static long pTotaldegree(poly p)
static void syPrintEmptySpaces(int i)
void rGetSComps(int **currComponents, long **currShiftedComponents, int *length, ring r)
poly prMoveR(poly &p, ring src_r, ring dest_r)
STATIC_VAR int _componentsExternal
static unsigned pLength(poly a)
long syReorderShiftedComponents(long *sc, int n)
intvec * ivCopy(const intvec *o)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
void kBucketDestroy(kBucket_pt *bucket_pt)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
static void syPrintEmptySpaces1(int i)
void PrintS(const char *s)
#define omMemcpyW(p1, p2, l)
#define omFreeSize(addr, size)
void syInitializePair(SObject *so)
void syCopyPair(SObject *argso, SObject *imso)
void kBucketInit(kBucket_pt bucket, poly lm, int length)
void kBucket_Minus_m_Mult_p(kBucket_pt bucket, poly m, poly p, int *l, poly spNoether)
Bpoly == Bpoly - m*p; where m is a monom Does not destroy p and m assume (*l <= 0 || pLength(p) == *l...
#define TEST_OPT_NO_SYZ_MINIM
ring rAssure_dp_S(const ring r)
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
int sySize(syStrategy syzstr)
static int max(int a, int b)
STATIC_VAR long * _componentsShifted
static intvec * syToStrip(syStrategy syzstr, int index)
resolvente syReorder(resolvente res, int length, syStrategy syzstr, BOOLEAN toCopy, resolvente totake)
#define pSortCompCorrect(p)
Assume: If considerd only as poly in any component of p (say, monomials of other components of p are ...
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
#define pLmDivisibleByNoComp(a, b)
like pLmDivisibleBy, does not check components
KINLINE poly ksOldSpolyRed(poly p1, poly p2, poly spNoether)
static BOOLEAN syOrder(poly p, syStrategy syzstr, int index, int realcomp)
void p_Setm_General(poly p, const ring r)
#define pSetCoeff(p, n)
deletes old coeff before setting the new one
static SSet syChosePairsPutIn(syStrategy syzstr, int *index, int *howmuch, int *actdeg, int an, int en)
SRes syInitRes(ideal arg, int *length, intvec *Tl, intvec *cw)
void rDelete(ring r)
unconditionally deletes fields in r
static void p_Delete(poly *p, const ring r)
void syResetShiftedComponents(syStrategy syzstr, int index, int hilb)
static void syRedNextPairs(SSet nextPairs, syStrategy syzstr, int howmuch, int index)
static int si_max(const int a, const int b)
void kBucketTakeOutComp(kBucket_pt bucket, long comp, poly *r_p, int *l)
ideal idInit(int idsize, int rank)
initialise an ideal / module
poly syRedtail(poly p, syStrategy syzstr, int index)
static BOOLEAN idHomModule(ideal m, ideal Q, intvec **w)
static poly syMinimizeP1(int toMin, syStrategy syzstr, intvec *ordn, int index, intvec *toStrip)
void WerrorS(const char *s)
int lcm(unsigned long *l, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
static FORCE_INLINE number n_SubringGcd(number a, number b, const coeffs r)
#define omRealloc0Size(addr, o_size, size)
static int syChMin(intvec *iv)
static void syCreateNewPairs(syStrategy syzstr, int index, int newEl)
#define pLmDivisibleBy(a, b)
like pDivisibleBy, except that it is assumed that a!=NULL, b!=NULL
poly prHeadR(poly p, ring src_r, ring dest_r, prCopyProc_t prproc)
void rChangeSComps(int *currComponents, long *currShiftedComponents, int length, ring r)
kBucket_pt kBucketCreate(const ring bucket_ring)
Creation/Destruction of buckets.
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
#define pCopy(p)
return a copy of the poly
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
long ** ShiftedComponents
int syInitSyzMod(syStrategy syzstr, int index, int init)
void syDeletePair(SObject *so)
static int index(p_Length length, p_Ord ord)
static intvec * idSort(ideal id, BOOLEAN nolex=TRUE)
poly prCopyR(poly p, ring src_r, ring dest_r)
KINLINE poly ksOldCreateSpoly(poly p1, poly p2, poly spNoether, ring r)
STATIC_VAR int * _components