version 1.3, 2002/09/08 10:49:49 |
version 1.15, 2018/09/07 00:15:44 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/datatype.h,v 1.2 2000/01/16 07:55:38 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); |
Line 15 int KSset(char *name); |
|
Line 17 int KSset(char *name); |
|
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 **********************/ |
|
|
must be larger than AGLIMIT. They are automatically |
must be larger than AGLIMIT. They are automatically |
determined by the value of AGLIMIT. */ |
determined by the value of AGLIMIT. */ |
|
|
|
#define LARGE_NEGATIVE_NUMBER (-0x7fffffff) /* for 32 bit */ |
|
|
typedef struct listPoly * POLY; |
typedef struct listPoly * POLY; |
typedef struct monomial * MONOMIAL; |
typedef struct monomial * MONOMIAL; |
|
|
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 *outputOrder; |
int *outputOrder; |
char *name; |
char *name; |
int weightedHomogenization; |
int weightedHomogenization; |
|
int degreeShiftSize; |
|
int degreeShiftN; |
|
int *degreeShift; |
|
int partialEcart; |
|
int *partialEcartGlobalVarX; |
|
|
|
/* To be used. */ |
|
void *ringInInputForm; |
}; |
}; |
|
|
|
|
Line 157 struct polySet { |
|
Line 170 struct polySet { |
|
int *mark; /* if (mark[i]), then syz[i] is simplified. */ |
int *mark; /* if (mark[i]), then syz[i] is simplified. */ |
int *serial; /* serial[i]=k ===> g[i] is input[k] */ |
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 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 { |
struct pair { |
Line 175 struct gradedPolySet { |
|
Line 191 struct gradedPolySet { |
|
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 { |