00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00034
00035
00036
00037
00038
00039
00040 #ifndef ASC_EXPRSYM_H
00041 #define ASC_EXPRSYM_H
00042
00052 typedef struct Func Func;
00053
00054 typedef struct relation_term Term;
00057 typedef struct relation RelationINF;
00059 typedef int ExprSymFilterFn(struct Instance *);
00060
00061 #define K_TERM(i) ((Term *)(i))
00062
00064 extern Term *TermSimplify(Term *term);
00070 extern Term *Derivative(Term *term, unsigned long wrt,
00071 ExprSymFilterFn *filter);
00079 extern void PrepareDerivatives(int setup, int n_buffers, int buffer_length);
00089 #define ShutDownDerivatives() PrepareDerivatives(0,0,0)
00090
00094 extern Term *TermDerivative(Term *term, unsigned long wrt,
00095 ExprSymFilterFn *filter);
00102 extern RelationINF *RelDerivative(RelationINF *rel, unsigned long wrt,
00103 ExprSymFilterFn *filter);
00114 extern void RelDestroySloppy(RelationINF *rel);
00134 extern RelationINF *RelDeriveSloppy(RelationINF *rel, unsigned long wrt,
00135 ExprSymFilterFn *filter);
00164
00165
00166 #endif
00167