Error float_in( floatnum x, p_itokens tokens) { t_number_desc n; Error result; if ((result = str2desc(&n, tokens)) == Success) result = pack2floatnum(x, &n); if (result != Success) { _seterror(x, BadLiteral); float_setnan(x); } return result; }
int bench(int argc, char **argv, bool main_bench) { for (int arg = 0; arg < argc; ++arg) { if (!strncmp("--batch=", argv[arg], 8)) SAFE(batch(argv[arg] + 8, bench), CRIT); else if (!strncmp("--cfg=", argv[arg], 6)) cfg = str2cfg(argv[arg] + 6); else if (!strncmp("--match=", argv[arg], 8)) pattern = argv[arg] + 8; else if (!strncmp("--mb=", argv[arg], 5)) mb = atoi(argv[arg] + 5); else if (!strncmp("--dir=", argv[arg], 6)) dir = str2dir(argv[arg] + 6); else if (!strncmp("--alg=", argv[arg], 6)) alg = str2alg(argv[arg] + 6); else if (!strncmp("--attr=", argv[arg], 7)) SAFE(str2attr(&attr, argv[arg] + 7), CRIT); else if (!strncmp("--skip-impl=", argv[arg], 12)) skip_impl = argv[arg] + 12; else if (!strncmp("--allow-unimpl=", argv[arg], 15)) allow_unimpl = str2bool(argv[arg] + 15); else if (!strncmp("--perf-template=", argv[arg], 16)) perf_template = argv[arg] + 16; else if (!strcmp("--reset", argv[arg])) reset_parameters(); else if (!strncmp("--mode=", argv[arg], 7)) bench_mode = str2bench_mode(argv[arg] + 7); else if (!strncmp("-v", argv[arg], 2)) verbose = atoi(argv[arg] + 2); else if (!strncmp("--verbose=", argv[arg], 10)) verbose = atoi(argv[arg] + 10); else { desc_t c; bool is_deconv = 0; if (str2desc(&c, argv[arg], is_deconv) == FAIL) { fprintf(stderr, "driver: unknown option: `%s`, exiting...\n", argv[arg]); exit(2); } check_correctness(&c); } } return OK; }