Return to datatype.h CVS log | Up to [local] / OpenXM / src / kan96xx / Kan |
version 1.8, 2003/07/30 09:00:52 | version 1.15, 2018/09/07 00:15:44 | ||
---|---|---|---|
|
|
||
/* $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.14 2015/09/29 01:52:14 takayama Exp $ */ | ||
#include "gmp.h" | #include "gmp.h" | ||
#include "gc.h" | |||
/* GC */ | /* GC */ | ||
void *GC_malloc(size_t size); | void *GC_malloc(size_t size); | ||
void *GC_realloc(void *p,size_t new); | void *GC_realloc(void *p,size_t new); | ||
void *sGC_malloc(size_t size); | 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_realloc2(void *p,size_t old,size_t new); | ||
void sGC_free2(void *p,size_t size); | void sGC_free2(void *p,size_t size); | ||
void sGC_free(void *p); | void sGC_free(void *p); | ||
|
|
||
int KSpushBinary(int size,char *data); | int KSpushBinary(int size,char *data); | ||
char *KSpopBinary(int *size); | char *KSpopBinary(int *size); | ||
void KSstart(); | void KSstart(); | ||
void KSstart_quiet(); | |||
void KSstop(); | void KSstop(); | ||
/*********** You may modify these system constants below **********************/ | /*********** You may modify these system constants below **********************/ | ||
|
|
||
int cc; | int cc; | ||
char **x; | char **x; | ||
char **D; | char **D; | ||
char **Dsmall; | |||
int *order; /* [i][j] ---> [i*2*N+j] */ | int *order; /* [i][j] ---> [i*2*N+j] */ | ||
int orderMatrixSize; | int orderMatrixSize; | ||
int *from; | int *from; | ||
|
|
||
int degreeShiftSize; | int degreeShiftSize; | ||
int degreeShiftN; | int degreeShiftN; | ||
int *degreeShift; | int *degreeShift; | ||
int partialEcart; | |||
int *partialEcartGlobalVarX; | |||
/* To be used. */ | |||
void *ringInInputForm; | |||
}; | }; | ||
|
|
||
int lim; | int lim; | ||
POLY *gh; /* gh[i] = homogenize(g[i]) for ecart division */ | POLY *gh; /* gh[i] = homogenize(g[i]) for ecart division */ | ||
int *gen; /* gen[i] == 1 --> given generators */ | int *gen; /* gen[i] == 1 --> given generators */ | ||
POLY *gmod; /* gmod = g mod p for TraceLift. */ | |||
}; | }; | ||
struct pair { | struct pair { | ||
|
|
||
struct polySet **polys; /* polys[0]: grade=0, polys[1]:grade=1, ... */ | struct polySet **polys; /* polys[0]: grade=0, polys[1]:grade=1, ... */ | ||
int maxGrade; /* maximal grade in this set */ | int maxGrade; /* maximal grade in this set */ | ||
int lim; | int lim; | ||
int gb; /* it is gb or not. */ | |||
int reduced; /* it is reduced gb or not. */ | |||
}; | }; | ||
struct gradedPairs { | struct gradedPairs { |