| version 1.2, 2000/01/16 07:55:38 |
version 1.12, 2020/10/06 11:33:46 |
|
|
| /* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern2.h,v 1.11 2006/12/21 05:29:49 takayama Exp $ */ |
| /* poly.c */ |
/* poly.c */ |
| void KinitKan(void); |
void KinitKan(void); |
| MONOMIAL newMonomial(struct ring *ringp); |
MONOMIAL newMonomial(struct ring *ringp); |
| Line 44 POLY modulo0(POLY f,struct ring *ringp); |
|
| Line 44 POLY modulo0(POLY f,struct ring *ringp); |
|
| POLY modulopZ(POLY f,struct coeff *pcoeff); |
POLY modulopZ(POLY f,struct coeff *pcoeff); |
| struct pairOfPOLY quotientByNumber(POLY f,struct coeff *pcoeff); |
struct pairOfPOLY quotientByNumber(POLY f,struct coeff *pcoeff); |
| int pLength(POLY f); |
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 */ |
/* poly3.c */ |
| void initT(void); |
void initT(void); |
| void makeTable(struct coeff *c,struct exps e[],struct ring *ringp); |
void makeTable(struct coeff *c,struct exps e[],struct ring *ringp); |
| Line 67 int isHomogenized_vec(POLY f); |
|
| Line 72 int isHomogenized_vec(POLY f); |
|
| int containVectorVariable(POLY f); |
int containVectorVariable(POLY f); |
| POLY POLYToPrincipalPart(POLY f); |
POLY POLYToPrincipalPart(POLY f); |
| POLY POLYToInitW(POLY f,int w[]); |
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); |
POLY polyGCD(POLY f,POLY g); |
| int isTheSameRing(struct ring *rstack[], int rp, struct ring *newRingp); |
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 */ |
/* coeff.c */ |
| char *intToString(int i); |
char *intToString(int i); |
| Line 112 struct coeff *universalNumberGCD(struct coeff *a,struc |
|
| Line 126 struct coeff *universalNumberGCD(struct coeff *a,struc |
|
| char *POLYToString(POLY f,int multSym,int brace); |
char *POLYToString(POLY f,int multSym,int brace); |
| int isOne(struct coeff *cp); |
int isOne(struct coeff *cp); |
| int isMinusOne(struct coeff *cp); |
int isMinusOne(struct coeff *cp); |
| int isMinusOne(struct coeff *cp); |
|
| int isNegative(struct coeff *cp); |
int isNegative(struct coeff *cp); |
| int isConstant(POLY f); |
int isConstant(POLY f); |
| |
int isConstantAll(POLY f); |
| void errorOutput(char *s); |
void errorOutput(char *s); |
| int validOutputOrder(int w[],int n); |
int validOutputOrder(int w[],int n); |
| |
char **makeDsmall(char **dvars,int n); |
| |
|
| |
|
| /* order.c */ |
/* order.c */ |
| void setOrderByMatrix(int order[],int n,int c, int l,int omsize); |
void setOrderByMatrix(int order[],int n,int c, int l,int omsize); |
| void printOrder(struct ring *ringp); |
void printOrder(struct ring *ringp); |
| Line 166 int grade_firstvec(POLY f); |
|
| Line 182 int grade_firstvec(POLY f); |
|
| int grade_sugar(POLY f); |
int grade_sugar(POLY f); |
| int eliminated(POLY f); |
int eliminated(POLY f); |
| int isOrdered(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 */ |
/* resol.c */ |
| struct arrayOfMonomialSyz schreyerSkelton(struct arrayOfPOLY g); |
struct arrayOfMonomialSyz schreyerSkelton(struct arrayOfPOLY g); |
| Line 185 int (*grade)(POLY f); |
|
| Line 205 int (*grade)(POLY f); |
|
| #define checkRing2(f,g) {\ |
#define checkRing2(f,g) {\ |
| if ((f)->m->ringp != (g)->m->ringp) {\ |
if ((f)->m->ringp != (g)->m->ringp) {\ |
| fprintf(stderr,"f and g must be in a same ring. Type in ctrl-\\");\ |
fprintf(stderr,"f and g must be in a same ring. Type in ctrl-\\");\ |
| getchar(); getchar(); exit();\ |
getchar(); getchar(); exit(1);\ |
| }\ |
}\ |
| } |
} |
| |
|