Sindbad~EG File Manager

Current Path : /usr/home/beeson/Otter-Lambda/yyy/
Upload File :
Current File : /usr/home/beeson/Otter-Lambda/yyy/vaux.h

typedef struct { unsigned scope:2;   /* UNIVERSAL, EXISTENTIAL, BOUND, HALFBOUND */
                 unsigned multorder: 1;   /* use the first variable it depends on to
                                             decide its multiplicative order */
                 unsigned type: 8;   /* #-defined values in #terms.h */
                 unsigned long dp;  /* which other variables it depends on;
                                   bit i tells if it depends on varlist[i] */
                 term locus;    /* term at which this variable is bound,
                                   if its .scope field is BOUND */
                 int linenumber;    /* line at which this variable was
                                   introduced--this field needed by undo;
                                   gets value 0 for variables in the original
                                   problem; set by vaux */
                 double realpart;  /* numerical value of the variable, used in graphing */
                 double imagpart;  /* used for variables of type DCOMPLEX */
                 char name[4];  /* print name of subscripted variable */
               }  varinf;
/*______________________________________________________________________*/
typedef struct dl { double data;
                    struct dl *next;
                  } dlist;  /* linked list of doubles */
/*______________________________________________________________________*/
/* Parameters are used in graph and in symbol documents (for solving
equations);  the same parameters apply to all graphs in a graph document.  */

typedef struct
   { double *addr;   /* address of the value */
     double increment;  /* how much to change it by when +/- is pressed */
     int index;  /*  varlist[index]  is the term corresponding to this parameter */
     unsigned functor;
     int linenumber; /* value of currentline when initialize_parameter
                        creates this parameter; used by undo */
     char  *name;    /* be sure to allocate space */
     dlist *history; /* past values pushed here when 'draw' is called,
                        if any parameters have changed */
   } parameter;
/*__________________________________________________________________*/
typedef struct
   { term *varlist;
     int nvariables;
     int maxvariables;
     int eigenvariable;
     int currentline;
     parameter *parameters;
     int nparameters;
     int maxparameters;
     varinf *varinfo;
     int nextdefn;
     defn *defns;
     int maxdefns;
   } vardata;   /* These are the data manipulated by var.DLL   */

MEXPORT_VAR int vaux(term);
MEXPORT_VAR term getnewvar(term t,char *data);
MEXPORT_VAR term getnewintvar(term x, char *s);
MEXPORT_VAR term getnewboundintvar(term x, char *s);

MEXPORT_VAR term index_variable(term t);
MEXPORT_VAR term constant_of_integration(term s,term x);
MEXPORT_VAR void initialize_parameter(int,int);
MEXPORT_VAR int get_index(term);
MEXPORT_VAR int get_eigenindex(void);
MEXPORT_VAR term get_eigenvariable(void);
MEXPORT_VAR int get_nvariables(void);
MEXPORT_VAR void set_nvariables(int);
MEXPORT_VAR int get_nparameters(void);
MEXPORT_VAR void set_nparameters(int);
MEXPORT_VAR void decrement_nparameters(void);
MEXPORT_VAR void set_currentline(int);
MEXPORT_VAR void increment_currentline(void);
MEXPORT_VAR void decrement_currentline(void);
MEXPORT_VAR int get_currentline(void);
MEXPORT_VAR parameter *get_parameters(void);
MEXPORT_VAR int isparameter(term);
MEXPORT_VAR void set_eigenvariable(int);
MEXPORT_VAR void swapvars(int, int);
MEXPORT_VAR term *get_varlist(void);
MEXPORT_VAR varinf *get_varinfo(void);
MEXPORT_VAR term getvar(term, char *);
MEXPORT_VAR int let_aux(term, term,int);
MEXPORT_VAR int let(term,term);
MEXPORT_VAR int reverse_let(term,term);
MEXPORT_VAR int let_permanent(term,term);
MEXPORT_VAR int get_nextdefn(void);
MEXPORT_VAR void set_nextdefn(int);
MEXPORT_VAR defn get_defn(int);
MEXPORT_VAR int undo_letdefns(void);
MEXPORT_VAR defn *get_defns(void);
MEXPORT_VAR term gensym(char);
MEXPORT_VAR int is_letdefined(term, term *);
#define MAXATOMS 16
#define MAXFUNCTORS 16
#define MAXVARIABLES (8*sizeof(long))  /* maximum number of variables on
                                          which other variables can depend */
/* the total number of variables has no limit, but dependency information
   is stored in a long, so nothing can depend on variables stored in varlist
   past MAXVARIABLES */
MEXPORT_VAR void push_parameters(void);
MEXPORT_VAR void clear_parameter_history(void);
MEXPORT_VAR void undo_parameters(int);
MEXPORT_VAR unsigned short string_to_functor( char *, int);  /*  one or more characters */
MEXPORT_VAR unsigned short string_to_atom(char *);
MEXPORT_VAR void set_cofi_index(int);
MEXPORT_VAR int get_cofi_index(void);
MEXPORT_VAR int deletevar(term);
MEXPORT_VAR term firstdepends(term x);  /* return first variable on which variable x depends */
MEXPORT_VAR unsigned short bound_in(term,term);
MEXPORT_VAR void set_valuepointers(term *t);
MEXPORT_VAR void set_dependency_info(term u, term t);
MEXPORT_VAR int contains_free(term, unsigned short);
MEXPORT_VAR void bindvar(term);
MEXPORT_VAR void unbindvar(term);

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists