=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/global.c,v retrieving revision 1.1.1.1 retrieving revision 1.27 diff -u -p -r1.1.1.1 -r1.27 --- OpenXM/src/kan96xx/Kan/global.c 1999/10/08 02:12:01 1.1.1.1 +++ OpenXM/src/kan96xx/Kan/global.c 2003/11/20 09:20:36 1.27 @@ -1,4 +1,4 @@ -/* global.c */ +/* global.c $OpenXM: OpenXM/src/kan96xx/Kan/global.c,v 1.26 2003/08/21 12:30:15 takayama Exp $ */ #include #include #include "datatype.h" @@ -13,22 +13,22 @@ Any setting must keep the relation: L<=M<=N. You must see mmwMult() in poly.c in the above case. 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=2, M=2, N=5 means x0=q, x1 is q-variable and x2,,,,x4 are - differential variables. - L=0, M=2, N=5 means x0,x1 are difference variables and x2,,,x4 - are differential variables. */ + 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 + differential variables. + L=0, M=2, N=5 means x0,x1 are difference variables and x2,,,x4 + are differential variables. */ /*#define L 0 number of q-variables */ /*#define M 0 number of difference variables */ /*Number of elimination variables */ /*#define LL 0 */ /*#define MM 0 */ - /* 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 */ +/* 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 */ /*#define NN 9 */ - /*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. - See the eliminated_standard() in dbm3.c */ +/*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. + See the eliminated_standard() in dbm3.c */ /* They are not used. @@ -86,6 +86,7 @@ int Criterion2B = 0; int Criterion2M = 0; int Criterion2F = 0; int Statistics = 0; +int AutoReduce = 0; int CheckHomogenization = 1; int ErrorMessageMode = 0; int WarningMessageMode = 0; @@ -99,23 +100,39 @@ int KSPushEnvMode = 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 CmoDMSOutputOption = 0; /* Output with - (1) RING_BY_NAME or (0) DMS_OF_N_VARIABLES. - plugin/cmo.c */ + (1) RING_BY_NAME or (0) DMS_OF_N_VARIABLES. + plugin/cmo.c */ +int SecureMode = 0; +int Ecart = 0; +int EcartAutomaticHomogenization = 0; +int TraceLift = 0; +struct ring *TraceLift_ringmod = NULL; +int DoCancel = 0; +int QuoteMode = 0; /* global variables for stackmachine.c */ int VerboseStack = 1; /* 0 is quiet, 1 is standard, 2 ... */ int DebugStack = 0; -FILE *Fstack = stdout; /* standard output stream - for module: stackmachine */ +FILE *Fstack = NULL; /* Initialized to standard output stream + in stackmachine_init() + for module: stackmachine */ #if defined(sun) /* in case of Solaris, use the following: */ int EnvOfStackMachine[2000]; #else +#if defined(__CYGIWN__) +sigjmp_buf EnvOfStackMachine; +#else jmp_buf EnvOfStackMachine; #endif +#endif +#if defined(__CYGWIN__) +int errno; +#endif + struct object NullObject; struct object NoObject; @@ -124,8 +141,11 @@ int Lookup[TYPES][TYPES]; int Quiet = 0; int TimerOn = 0; -char *VersionString = "2.990914"; +char *VersionString = "3.030821"; +char *LeftBracket = NULL; +char *RightBracket = NULL; + int AvoidTheSameRing = 1; int DebugCMO = 0; /* plugin/cmo.c */ int OXprintMessage = 1; /* referred only from ox_sm1 plugin/ox.hh */ @@ -133,10 +153,19 @@ int OXprintMessage = 1; /* referred only from ox_sm1 char *OxSystem = "ox_sm1.plain"; /* Example : ox_sm1.plain */ char *OxSystemVersion = NULL; /* Example : 0.1 */ +/* global variables for kanExport0.c */ +int VerboseK = 1; /* 1 is standard */ +int DebugK = 0; +FILE *Fk = NULL; /* Initialized to stdout in stackmachine_init() */ + stackmachine_init() { int i,j; + extern FILE *BaseFp; OxSystemVersion = VersionString; Fstack = stdout; /* initialize output stream */ + Fk = stdout; + BaseFp = stdin; + LeftBracket = "["; RightBracket = "]"; /* initialize null object */ NullObject.tag = 0; NullObject.lc.op = NullObject.rc.op = (struct object *)NULL; @@ -161,10 +190,6 @@ stackmachine_close() { } -/* global variables for kanExport0.c */ -int VerboseK = 1; /* 1 is standard */ -int DebugK = 0; -FILE *Fk = stdout; Kclose() { /* close Fk */