1 #include"fx.h" 2 #include "FXExpression.h" 3 4 5 /* Evaluate expression with arguments */ main(int argc,char ** argv)6int 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