version 1.14, 2000/12/03 07:29:38 |
version 1.38, 2020/10/06 11:33:46 |
|
|
/* global.c $OpenXM: OpenXM/src/kan96xx/Kan/global.c,v 1.13 2000/07/26 02:21:30 takayama Exp $ */ |
/* global.c $OpenXM: OpenXM/src/kan96xx/Kan/global.c,v 1.37 2015/09/29 01:52:14 takayama Exp $ */ |
#include <stdio.h> |
#include <stdio.h> |
#include <setjmp.h> |
#include <setjmp.h> |
#include "datatype.h" |
#include "datatype.h" |
#include "stackm.h" |
#include "stackm.h" |
#include "lookup.h" |
#include "lookup.h" |
|
|
|
void hashInitialize(struct dictionary *dic); /* declared in extern.h */ |
|
void initClassDataBase(void); |
/*-------- variables to define a ring ----------------*/ |
/*-------- variables to define a ring ----------------*/ |
/* |
/* |
The numbers L,M, LL,MM,NN are set in setUpRing() in setupring.c now. |
The numbers L,M, LL,MM,NN are set in setUpRing() in setupring.c now. |
|
|
Any setting must keep the relation: L<=M<=N. |
Any setting must keep the relation: L<=M<=N. |
You must see mmwMult() in poly.c in the above case. |
You must see mmwMult() in poly.c in the above case. |
Example. L=M=0 means there is no q-variables and difference variables. |
Example. L=M=0 means there is no q-variables and difference variables. |
L=5, M=N=5 means all variables are q-variables (x0=q). |
L=5, M=N=5 means all variables are q-variables (x0=q). |
L=2, M=2, N=5 means x0=q, x1 is q-variable and x2,,,,x4 are |
L=2, M=2, N=5 means x0=q, x1 is q-variable and x2,,,,x4 are |
differential variables. |
differential variables. |
L=0, M=2, N=5 means x0,x1 are difference variables and x2,,,x4 |
L=0, M=2, N=5 means x0,x1 are difference variables and x2,,,x4 |
are differential variables. */ |
are differential variables. */ |
/*#define L 0 number of q-variables */ |
/*#define L 0 number of q-variables */ |
/*#define M 0 number of difference variables */ |
/*#define M 0 number of difference variables */ |
/*Number of elimination variables */ |
/*Number of elimination variables */ |
/*#define LL 0 */ |
/*#define LL 0 */ |
/*#define MM 0 */ |
/*#define MM 0 */ |
/* x_MM,...,x_{M-1} are eliminated difference variables */ |
/* x_MM,...,x_{M-1} are eliminated difference variables */ |
/* MM < M if you want to use it. MM>=M if you do not use it */ |
/* MM < M if you want to use it. MM>=M if you do not use it */ |
/*#define NN 9 */ |
/*#define NN 9 */ |
/*x_NN,...,x_{N-1} are eliminated differential variables */ |
/*x_NN,...,x_{N-1} are eliminated differential variables */ |
/* NN < N if you want to use it. NN>=N if you do not use it. |
/* NN < N if you want to use it. NN>=N if you do not use it. |
See the eliminated_standard() in dbm3.c */ |
See the eliminated_standard() in dbm3.c */ |
|
|
|
|
/* They are not used. |
/* They are not used. |
Line 79 int Commutative = 0; |
|
Line 81 int Commutative = 0; |
|
int UseCriterion1 = 0; |
int UseCriterion1 = 0; |
int UseCriterion2B = 0; |
int UseCriterion2B = 0; |
int OutputStyle = '*'; |
int OutputStyle = '*'; |
|
int COutput = 0; /* C sytle output of polynomial */ |
int Wrap = 0; /* output.c */ |
int Wrap = 0; /* output.c */ |
int Verbose = 0; |
int Verbose = 0; |
int ReduceLowerTerms = 1; |
int ReduceLowerTerms = 1; |
Line 100 int KSPushEnvMode = 0; |
|
Line 103 int KSPushEnvMode = 0; |
|
int Sugar = 0; |
int Sugar = 0; |
int Homogenize_vec = 1; /*x + e (x+1)===>(1) x h + e (x+h) or (0)x + e(x+h) */ |
int Homogenize_vec = 1; /*x + e (x+1)===>(1) x h + e (x+h) or (0)x + e(x+h) */ |
int CmoDMSOutputOption = 0; /* Output with |
int CmoDMSOutputOption = 0; /* Output with |
(1) RING_BY_NAME or (0) DMS_OF_N_VARIABLES. |
(1) RING_BY_NAME or (0) DMS_OF_N_VARIABLES. |
plugin/cmo.c */ |
plugin/cmo.c */ |
int SecureMode = 0; |
int SecureMode = 0; |
|
int RestrictedMode = 0; |
|
int RestrictedMode_saved = 0; |
|
int Ecart = 0; |
|
int EcartAutomaticHomogenization = 0; |
|
int TraceLift = 0; |
|
struct ring *TraceLift_ringmod = NULL; |
|
int DoCancel = 0; |
|
int QuoteMode = 0; |
|
int UseDsmall = 0; |
|
|
/* global variables for stackmachine.c */ |
/* global variables for stackmachine.c */ |
int VerboseStack = 1; /* 0 is quiet, 1 is standard, 2 ... */ |
int VerboseStack = 1; /* 0 is quiet, 1 is standard, 2 ... */ |
Line 116 FILE *Fstack = NULL; /* Initialized to standard output |
|
Line 128 FILE *Fstack = NULL; /* Initialized to standard output |
|
/* in case of Solaris, use the following: */ |
/* in case of Solaris, use the following: */ |
int EnvOfStackMachine[2000]; |
int EnvOfStackMachine[2000]; |
#else |
#else |
|
#if defined(__CYGIWN__) |
|
sigjmp_buf EnvOfStackMachine; |
|
#else |
jmp_buf EnvOfStackMachine; |
jmp_buf EnvOfStackMachine; |
#endif |
#endif |
|
#endif |
|
|
struct object NullObject; |
struct object NullObject; |
struct object NoObject; |
struct object NoObject; |
Line 127 int Lookup[TYPES][TYPES]; |
|
Line 143 int Lookup[TYPES][TYPES]; |
|
int Quiet = 0; |
int Quiet = 0; |
int TimerOn = 0; |
int TimerOn = 0; |
|
|
char *VersionString = "3.001203"; |
char *VersionString = "3.050615"; |
|
|
char *LeftBracket = NULL; |
char *LeftBracket = NULL; |
char *RightBracket = NULL; |
char *RightBracket = NULL; |
Line 144 int VerboseK = 1; /* 1 is standard */ |
|
Line 160 int VerboseK = 1; /* 1 is standard */ |
|
int DebugK = 0; |
int DebugK = 0; |
FILE *Fk = NULL; /* Initialized to stdout in stackmachine_init() */ |
FILE *Fk = NULL; /* Initialized to stdout in stackmachine_init() */ |
|
|
stackmachine_init() { |
void stackmachine_init() { |
int i,j; |
int i,j; |
extern FILE *BaseFp; |
extern FILE *BaseFp; |
|
/* GC_init(); */ |
|
GC_INIT(); |
OxSystemVersion = VersionString; |
OxSystemVersion = VersionString; |
Fstack = stdout; /* initialize output stream */ |
Fstack = stdout; /* initialize output stream */ |
Fk = stdout; |
Fk = stdout; |
Line 155 stackmachine_init() { |
|
Line 173 stackmachine_init() { |
|
/* initialize null object */ |
/* initialize null object */ |
NullObject.tag = 0; |
NullObject.tag = 0; |
NullObject.lc.op = NullObject.rc.op = (struct object *)NULL; |
NullObject.lc.op = NullObject.rc.op = (struct object *)NULL; |
|
NullObject.attr = (struct object *)NULL; |
/* findUserdictionary returns NoObject if it cannot find the key.*/ |
/* findUserdictionary returns NoObject if it cannot find the key.*/ |
NoObject.tag = -1; |
NoObject.tag = -1; |
NoObject.lc.op = NoObject.rc.op = (struct object *)NULL; |
NoObject.lc.op = NoObject.rc.op = (struct object *)NULL; |
|
NoObject.attr = (struct object *)NULL; |
/* Initalize lookup table */ |
/* Initalize lookup table */ |
for (i=0; i<TYPES; i++) { |
for (i=0; i<TYPES; i++) { |
for (j=0; j<TYPES; j++) |
for (j=0; j<TYPES; j++) |
Line 171 stackmachine_init() { |
|
Line 191 stackmachine_init() { |
|
} |
} |
|
|
|
|
stackmachine_close() { |
int stackmachine_close() { |
/* close output stream */ |
/* close output stream */ |
} |
} |
|
|
|
|
|
|
Kclose() { |
void Kclose() { |
/* close Fk */ |
/* close Fk */ |
} |
} |
|
|