Sindbad~EG File Manager

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

/* The calling program maintains a control data object, say polyData, of type
polyflags.  In Mathpert, this is part of the document data.
When the document is activated,
it calls activate_polyvalDLL, passing &polyData. That function sets
the static global variables in polyval.c that control polyval.  When
the document is deactivated, it calls exit_polyvalDLL, which makes sure
that polyData records the current values AND RESETS THE DEFAULTS which
are statically initialized. The values in polyData are
never accessed except by activate_polyvalDLL and deactivate_polyvalDLL;  meantime
when the calling program wants to get or set those variables, it
has to ask the DLL through get_polyvalflags and set_polyvalflags.  */

typedef struct
   { int factor;    /* perform contentfactor?  */
     int function;  /* evaluate trig and log functions to algebraic values? */
     int dif;       /* evaluate derivatives? */
     int intlinear; /* know about the linearity of the integral? */
     int gcd;       /* cancel gcd of num and denom of fractions? */
     int zeropower; /* set x^0 = 1 ?  */
     int fractexp;  /* convert roots to exponents? */
     int negexp;    /* should polyval eliminate all negative exponents? */
                    /*  if -1, eliminate negative exponents;
                        if 1, convert fractions to neg exponents;
                        if 0, eliminate negative exponents in fractions,
                           but not elsewhere */
     int rootproduct;  /*  make assumptions that a�0 and b�0 and
                       apply (ab)� = a�b� for fractional n?  If the
                       flag is nonzero it does, if the flag is zero it uses
                       this law only if the condition can be inferred. */
     int comdenom;   /* do common denominators? */
     int infraction; /* perform operations appropriate inside a fraction,
                        e.g. common denoms regardless of the .comdenom flag */
     int complex;    /* controls whether  (��x)� = x for even n or not; this
                        is true for the complex �� but not for real roots */
     int domainflag; /* if nonzero, cancel will check the definedness of the
                        term to be cancelled, etc. */
     int ringflag;   /* see document.h for full documentation */
     int orderflag;  /* see document.h   */
     aflag arith;    /* control 'value'  */
     unsigned long hwnd;  /* HWND for display_progress to send messages to     */
   } polyflags;

MEXPORT_POLYVAL int polyval(term expr, term *ans);
MEXPORT_POLYVAL int get_polyvalfactorflag(void);
MEXPORT_POLYVAL void set_polyvalfactorflag(int);
MEXPORT_POLYVAL int get_polyvalfactorflag2(void);
MEXPORT_POLYVAL void set_polyvalfactorflag2(int);
MEXPORT_POLYVAL int get_polyvallogflag(void);
MEXPORT_POLYVAL void set_polyvallogflag(int);
MEXPORT_POLYVAL int get_polyvaltrigsqflag(void);
MEXPORT_POLYVAL void set_polyvaltrigsqflag(int);
MEXPORT_POLYVAL int get_polyvalfunctionflag(void);
MEXPORT_POLYVAL void set_polyvalfunctionflag(int);
MEXPORT_POLYVAL int get_polyvaldifflag(void);
MEXPORT_POLYVAL void set_polyvaldifflag(int);
MEXPORT_POLYVAL int get_polyvalintflag(void);
MEXPORT_POLYVAL void set_polyvalintflag(int);
MEXPORT_POLYVAL int get_polyvalgcdflag(void);
MEXPORT_POLYVAL void set_polyvalgcdflag(int);
MEXPORT_POLYVAL int get_polyvalzeropowerflag(void);
MEXPORT_POLYVAL void set_polyvalzeropowerflag(int);
MEXPORT_POLYVAL int get_polyvalfractexpflag(void);
MEXPORT_POLYVAL void set_polyvalfractexpflag(int);
MEXPORT_POLYVAL int get_polyvalnegexpflag(void);
MEXPORT_POLYVAL void set_polyvalnegexpflag(int);
MEXPORT_POLYVAL int get_polyvalrootproductflag(void);
MEXPORT_POLYVAL void set_polyvalrootproductflag(int);
MEXPORT_POLYVAL int get_polyvalcomdenomflag(void);
MEXPORT_POLYVAL void set_polyvalcomdenomflag(int);
MEXPORT_POLYVAL int get_infractionflag(void);
MEXPORT_POLYVAL void set_infractionflag(int);
MEXPORT_POLYVAL int get_orderflag(void);
MEXPORT_POLYVAL void set_orderflag(int);
MEXPORT_POLYVAL void increment_infractionflag(void);
MEXPORT_POLYVAL void decrement_infractionflag(void);
MEXPORT_POLYVAL void set_arithflag(aflag);
MEXPORT_POLYVAL aflag get_arithflag(void);
MEXPORT_POLYVAL int get_complex(void);
MEXPORT_POLYVAL void set_complex(int);
MEXPORT_POLYVAL int get_ringflag(void);
MEXPORT_POLYVAL void set_ringflag(int);
MEXPORT_POLYVAL int get_polyvaldomainflag(void);
MEXPORT_POLYVAL void set_polyvaldomainflag(int);
MEXPORT_POLYVAL void copy_infinitesimal_markers(term, term *);
MEXPORT_POLYVAL int degree_simp(term, term *);
MEXPORT_POLYVAL int alg_numerical(term t);
MEXPORT_POLYVAL int contains_trig(term t);
MEXPORT_POLYVAL void set_polyvalsumflag(int);
MEXPORT_POLYVAL int is_complex(term t);

int polyvalexp(term, term *);  /* Not exported */
int polyval_collectlogb(term t, term *next);  /* defined in plogs.c */


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