=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/datatype.h,v retrieving revision 1.5 retrieving revision 1.10 diff -u -p -r1.5 -r1.10 --- OpenXM/src/kan96xx/Kan/datatype.h 2003/06/26 13:00:10 1.5 +++ OpenXM/src/kan96xx/Kan/datatype.h 2004/09/13 11:24:11 1.10 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/datatype.h,v 1.4 2003/06/26 08:14:46 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/datatype.h,v 1.9 2003/08/19 08:02:09 takayama Exp $ */ #include "gmp.h" /* GC */ @@ -29,6 +29,7 @@ void KSstop(); must be larger than AGLIMIT. They are automatically determined by the value of AGLIMIT. */ +#define LARGE_NEGATIVE_NUMBER (-0x7fffffff) /* for 32 bit */ typedef struct listPoly * POLY; typedef struct monomial * MONOMIAL; @@ -77,6 +78,11 @@ struct ring { int degreeShiftSize; int degreeShiftN; int *degreeShift; + int partialEcart; + int *partialEcartGlobalVarX; + +/* To be used. */ + void *ringInInputForm; }; @@ -160,7 +166,10 @@ struct polySet { int *mark; /* if (mark[i]), then syz[i] is simplified. */ int *serial; /* serial[i]=k ===> g[i] is input[k] */ int size; /* size of this set. i.e., g[0], g[1], ..., g[size-1] */ - int lim; + int lim; + POLY *gh; /* gh[i] = homogenize(g[i]) for ecart division */ + int *gen; /* gen[i] == 1 --> given generators */ + POLY *gmod; /* gmod = g mod p for TraceLift. */ }; struct pair {