[BACK]Return to global.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

Diff for /OpenXM/src/kan96xx/Kan/global.c between version 1.1 and 1.38

version 1.1, 1999/10/08 02:12:01 version 1.38, 2020/10/06 11:33:46
Line 1 
Line 1 
 /* global.c */  /* 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.
Line 13 
Line 15 
   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 86  int Criterion2B = 0;
Line 89  int Criterion2B = 0;
 int Criterion2M = 0;  int Criterion2M = 0;
 int Criterion2F = 0;  int Criterion2F = 0;
 int Statistics = 0;  int Statistics = 0;
   int AutoReduce = 0;
 int CheckHomogenization = 1;  int CheckHomogenization = 1;
 int ErrorMessageMode = 0;  int ErrorMessageMode = 0;
 int WarningMessageMode = 0;  int WarningMessageMode = 0;
Line 99  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 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 ... */
 int DebugStack   = 0;  int DebugStack   = 0;
   
 FILE *Fstack = stdout;             /* standard output stream  FILE *Fstack = NULL; /* Initialized to standard output stream
                                       for module: stackmachine */                          in stackmachine_init()
                           for module: stackmachine */
   
 #if defined(sun)  #if defined(sun)
 /* 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 124  int Lookup[TYPES][TYPES];
Line 143  int Lookup[TYPES][TYPES];
 int Quiet = 0;  int Quiet = 0;
 int TimerOn = 0;  int TimerOn = 0;
   
 char *VersionString = "2.990914";  char *VersionString = "3.050615";
   
   char *LeftBracket = NULL;
   char *RightBracket = NULL;
   
 int AvoidTheSameRing = 1;  int AvoidTheSameRing = 1;
 int DebugCMO = 0;  /* plugin/cmo.c */  int DebugCMO = 0;  /* plugin/cmo.c */
 int OXprintMessage = 1; /* referred only from ox_sm1  plugin/ox.hh */  int OXprintMessage = 1; /* referred only from ox_sm1  plugin/ox.hh */
Line 133  int OXprintMessage = 1; /* referred only from ox_sm1  
Line 155  int OXprintMessage = 1; /* referred only from ox_sm1  
 char *OxSystem = "ox_sm1.plain";         /* Example :  ox_sm1.plain */  char *OxSystem = "ox_sm1.plain";         /* Example :  ox_sm1.plain */
 char *OxSystemVersion = NULL;            /* Example :  0.1 */  char *OxSystemVersion = NULL;            /* Example :  0.1 */
   
 stackmachine_init() {  /*  global variables for kanExport0.c */
   int VerboseK = 1;  /* 1 is standard */
   int DebugK   = 0;
   FILE *Fk = NULL;  /* Initialized to stdout in stackmachine_init() */
   
   void stackmachine_init() {
   int i,j;    int i,j;
     extern FILE *BaseFp;
     /* GC_init(); */
     GC_INIT();
   OxSystemVersion = VersionString;    OxSystemVersion = VersionString;
   Fstack = stdout;  /* initialize output stream */    Fstack = stdout;  /* initialize output stream */
     Fk = stdout;
     BaseFp = stdin;
     LeftBracket = "["; RightBracket = "]";
   /* 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 156  stackmachine_init() {
Line 191  stackmachine_init() {
 }  }
   
   
 stackmachine_close() {  int stackmachine_close() {
   /* close output stream */    /* close output stream */
 }  }
   
   
 /*  global variables for kanExport0.c */  
 int VerboseK = 1;  /* 1 is standard */  
 int DebugK   = 0;  
 FILE *Fk = stdout;  
   
 Kclose() {  void Kclose() {
   /* close Fk */    /* close Fk */
 }  }
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.38

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>