# HG changeset patch # User Matti Hamalainen # Date 1366116971 -10800 # Node ID 9aeb836a99aa71164cef288c98183a30046c086e # Parent 34064af037fd92f5b290cf1fcef6716dd261df26 Moar work. diff -r 34064af037fd -r 9aeb836a99aa tests/evaltest.c --- a/tests/evaltest.c Tue Apr 16 15:31:56 2013 +0300 +++ b/tests/evaltest.c Tue Apr 16 15:56:11 2013 +0300 @@ -3,7 +3,8 @@ #include "dmargs.h" -BOOL optBenchmark = FALSE; +BOOL optBenchmark = FALSE, + optFloor = FALSE; char * optFormula = ""; @@ -12,7 +13,8 @@ { 0, '?', "help", "Show this help", OPT_NONE }, { 1, 'v', "verbose", "Be more verbose", OPT_NONE }, { 2, 'b', "benchmark", "Run in benchmark mode", OPT_NONE }, - { 3, 'f', "formula", "Next argument is the formula", OPT_ARGREQ }, + { 3, 'e', "expression", "Next argument is the expression/formula", OPT_ARGREQ }, + { 4, 'f', "floor", "Clamp/floor the result value", OPT_NONE }, }; const int optListN = sizeof(optList) / sizeof(optList[0]); @@ -20,7 +22,7 @@ void argShowHelp() { - dmPrintBanner(stdout, dmProgName, "[options] [-f] ''"); + dmPrintBanner(stdout, dmProgName, "[options] [-e] ''"); dmArgsPrintHelp(stdout, optList, optListN); } @@ -46,6 +48,10 @@ optFormula = optArg; break; + case 4: + optFloor = TRUE; + break; + default: dmError("Unknown option '%s'.\n", currArg); return FALSE; @@ -69,9 +75,6 @@ DMValue result, t, f = 44100.0f; int ret; -// dmVerbosity = 2; -// optFormula = "-pi * -2"; - dmInitProg("evaltest", "evaltest", "0.1", NULL, NULL); // Parse arguments @@ -80,9 +83,11 @@ exit(1); + // Register some variables dm_eval_add_var(ev, "t", &t); dm_eval_add_var(ev, "f", &f); + // Parse expression ret = dm_eval_parse_expr(ev, optFormula, &parsed); dmMsg(1, "parse ret=%d\n", ret); @@ -119,7 +124,7 @@ else { ret = dm_eval_exec(ev, ordered, &result); - printf("%1.5f\n", result); + printf("%1.5f\n", optFloor ? (int) result : result); } dmMsg(1, "eval ret=%d\n", ret);