1 #include"fx.h"
2 #include "FXExpression.h"
3 
4 
5 /* Evaluate expression with arguments */
main(int argc,char ** argv)6 int main(int argc,char **argv){
7   FXdouble parameter[10];
8   FXExpressionError err;
9   FXExpression expr;
10   FXdouble result;
11   FXint i;
12 #ifndef NDEBUG
13   fxTraceLevel=101;
14 #endif
15   if(1<argc){
16     fxmessage("evaluate(%s) ",argv[1]);
17     err=expr.parse(argv[1],(2<argc)?argv[2]:NULL);
18     if(err!=EXPRERR_OK){
19       fxwarning("Error: %s\n",FXExpression::getError(err));
20       exit(1);
21       }
22     for(i=3; i<argc; i++){
23       parameter[i-3]=strtod(argv[i],NULL);
24       }
25     result=expr.evaluate(parameter);
26     fxmessage("evaluate(%s) ",argv[1]);
27     if(2<argc){
28       fxmessage("{ ");
29       for(i=0; i<argc-3; i++){ fxmessage("%.10g ",parameter[i]); }
30       fxmessage("}");
31       }
32     fxmessage(" = %.10g\n",result);
33     }
34   return 0;
35   }
36 
37 
38