Sindbad~EG File Manager

Current Path : /usr/home/beeson/MathXpert/
Upload File :
Current File : /usr/home/beeson/MathXpert/vaux.h

#ifndef vaux_h
#define 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 */
     double rangemin;   /* slider range */
     double rangemax;
     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 activeparameter;
     int maxparameters;
     varinf *varinfo;
     int nextdefn;
     defn *defns;
     int maxdefns;
     int gensym_counter;
     int cofi_counter;
   } vardata;   /* These are the data manipulated by var.DLL   */

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

term index_variable(term t);
term constant_of_integration(term s,term x);
void initialize_parameter(int,int,double);
int get_index(term);
int get_eigenindex(void);
term get_eigenvariable(void);
int get_nvariables(void);
void set_nvariables(int);
int get_nparameters(void);
void set_nparameters(int);
void decrement_nparameters(void);
void set_currentline(int);
void increment_currentline(void);
void decrement_currentline(void);
int get_currentline(void);
parameter *get_parameters(void);
int isparameter(term);
void set_eigenvariable(int);
void swapvars(int, int);
term *get_varlist(void);
varinf *get_varinfo(void);
term getvar(term, char *);
int let_aux(term, term,int);
int let(term,term);
int reverse_let(term,term);
int let_permanent(term,term);
int get_nextdefn(void);
void set_nextdefn(int);
defn get_defn(int);
int undo_letdefns(void);
defn *get_defns(void);
term gensym(char);
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 */
void push_parameters(void);
void clear_parameter_history(void);
void undo_parameters(int);
unsigned short string_to_functor( char *, int);  /*  one or more characters */
unsigned short string_to_atom(char *);
void set_cofi_index(int);
int get_cofi_index(void);
int deletevar(term);
term firstdepends(term x);  /* return first variable on which variable x depends */
unsigned short bound_in(term,term);
void set_valuepointers(term *t);
void set_dependency_info(term u, term t);
int contains_free(term, unsigned short);
void bindvar(term);
void init_varDLL(vardata *pData);
void unbindvar(term);
term getnewboundvar(term x, char *s);
void invent_new_independent_variable(term t, int problemtype);
 
#endif 

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