=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/extern2.h,v retrieving revision 1.1.1.1 retrieving revision 1.8 diff -u -p -r1.1.1.1 -r1.8 --- OpenXM/src/kan96xx/Kan/extern2.h 1999/10/08 02:12:01 1.1.1.1 +++ OpenXM/src/kan96xx/Kan/extern2.h 2003/08/21 02:30:23 1.8 @@ -1,3 +1,4 @@ +/* $OpenXM: OpenXM/src/kan96xx/Kan/extern2.h,v 1.7 2003/08/20 01:39:17 takayama Exp $ */ /* poly.c */ void KinitKan(void); MONOMIAL newMonomial(struct ring *ringp); @@ -43,7 +44,12 @@ POLY modulo0(POLY f,struct ring *ringp); POLY modulopZ(POLY f,struct coeff *pcoeff); struct pairOfPOLY quotientByNumber(POLY f,struct coeff *pcoeff); int pLength(POLY f); +struct coeff *gcdOfCoeff(POLY f); +int coeffSizeMin(POLY f); +POLY reduceContentOfPoly(POLY f,struct coeff **contp); +int shouldReduceContent(POLY f,int ss); + /* poly3.c */ void initT(void); void makeTable(struct coeff *c,struct exps e[],struct ring *ringp); @@ -69,6 +75,13 @@ POLY POLYToInitW(POLY f,int w[]); POLY polyGCD(POLY f,POLY g); int isTheSameRing(struct ring *rstack[], int rp, struct ring *newRingp); +POLY goDeHomogenizeS(POLY f); +POLY goHomogenize(POLY f,int u[],int v[],int ds[],int dssize,int ei,int onlyS); +POLY goHomogenize11(POLY f,int ds[],int dssize,int ei,int onlyS); +POLY goHomogenize_dsIdx(POLY f,int u[],int v[],int dsIdx,int ei,int onlyS); +POLY goHomogenize11_dsIdx(POLY f,int ds[],int dsIdx,int ei,int onlyS); +struct ring *newRingOverFp(struct ring *rp, int p); +int getPrime(int p); /* coeff.c */ char *intToString(int i); @@ -165,6 +178,10 @@ int grade_firstvec(POLY f); int grade_sugar(POLY f); int eliminated(POLY f); int isOrdered(POLY f); +int dGrade(POLY f); +int dGrade1(POLY f); +int uvGrade(POLY f, int u[],int v[],int ds[],int dssize,int ei); +int uvGrade1(POLY f, int u[],int v[],int ds[],int dssize,int ei); /* resol.c */ struct arrayOfMonomialSyz schreyerSkelton(struct arrayOfPOLY g); @@ -184,7 +201,7 @@ int (*grade)(POLY f); #define checkRing2(f,g) {\ if ((f)->m->ringp != (g)->m->ringp) {\ fprintf(stderr,"f and g must be in a same ring. Type in ctrl-\\");\ - getchar(); getchar(); exit();\ + getchar(); getchar(); exit(1);\ }\ }