=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/extern2.h,v retrieving revision 1.6 retrieving revision 1.12 diff -u -p -r1.6 -r1.12 --- OpenXM/src/kan96xx/Kan/extern2.h 2003/08/19 08:02:09 1.6 +++ OpenXM/src/kan96xx/Kan/extern2.h 2020/10/06 11:33:46 1.12 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/extern2.h,v 1.5 2003/07/17 07:33:03 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/extern2.h,v 1.11 2006/12/21 05:29:49 takayama Exp $ */ /* poly.c */ void KinitKan(void); MONOMIAL newMonomial(struct ring *ringp); @@ -44,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); @@ -67,6 +72,8 @@ int isHomogenized_vec(POLY f); int containVectorVariable(POLY f); POLY POLYToPrincipalPart(POLY f); POLY POLYToInitW(POLY f,int w[]); +POLY POLYToInitWS(POLY f,int w[],int s[]); +int ordWsAll(POLY f,int w[],int s[]); POLY polyGCD(POLY f,POLY g); int isTheSameRing(struct ring *rstack[], int rp, struct ring *newRingp); @@ -119,11 +126,13 @@ struct coeff *universalNumberGCD(struct coeff *a,struc char *POLYToString(POLY f,int multSym,int brace); int isOne(struct coeff *cp); int isMinusOne(struct coeff *cp); -int isMinusOne(struct coeff *cp); int isNegative(struct coeff *cp); int isConstant(POLY f); +int isConstantAll(POLY f); void errorOutput(char *s); int validOutputOrder(int w[],int n); +char **makeDsmall(char **dvars,int n); + /* order.c */ void setOrderByMatrix(int order[],int n,int c, int l,int omsize);