Mercurial > hg > dmlib
changeset 683:9aeb836a99aa
Moar work.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Apr 2013 15:56:11 +0300 |
parents | 34064af037fd |
children | dae4db2512c4 |
files | tests/evaltest.c |
diffstat | 1 files changed, 12 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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] '<formula>'"); + dmPrintBanner(stdout, dmProgName, "[options] [-e] '<formula>'"); 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);