=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/datatype.h,v retrieving revision 1.8 retrieving revision 1.14 diff -u -p -r1.8 -r1.14 --- OpenXM/src/kan96xx/Kan/datatype.h 2003/07/30 09:00:52 1.8 +++ OpenXM/src/kan96xx/Kan/datatype.h 2015/09/29 01:52:14 1.14 @@ -1,10 +1,12 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/datatype.h,v 1.7 2003/07/17 07:33:03 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/datatype.h,v 1.13 2010/01/27 15:10:08 ohara Exp $ */ #include "gmp.h" +#include "gc.h" /* GC */ void *GC_malloc(size_t size); void *GC_realloc(void *p,size_t new); void *sGC_malloc(size_t size); +void *sGC_realloc(void *p,size_t new); void *sGC_realloc2(void *p,size_t old,size_t new); void sGC_free2(void *p,size_t size); void sGC_free(void *p); @@ -64,6 +66,7 @@ struct ring { int cc; char **x; char **D; + char **Dsmall; int *order; /* [i][j] ---> [i*2*N+j] */ int orderMatrixSize; int *from; @@ -78,6 +81,11 @@ struct ring { int degreeShiftSize; int degreeShiftN; int *degreeShift; + int partialEcart; + int *partialEcartGlobalVarX; + +/* To be used. */ + void *ringInInputForm; }; @@ -164,6 +172,7 @@ struct polySet { 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 { @@ -181,6 +190,8 @@ struct gradedPolySet { struct polySet **polys; /* polys[0]: grade=0, polys[1]:grade=1, ... */ int maxGrade; /* maximal grade in this set */ int lim; + int gb; /* it is gb or not. */ + int reduced; /* it is reduced gb or not. */ }; struct gradedPairs {