MCPcopy Create free account
hub / github.com/ArashPartow/exprtk / perform_file_based_benchmark

Function perform_file_based_benchmark

exprtk_benchmark.cpp:423–569  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

421}
422
423void perform_file_based_benchmark(const std::string& file_name, const std::size_t& rounds)
424{
425 std::deque<std::string> expr_str_list;
426
427 if (0 == load_expression_file(file_name,expr_str_list))
428 {
429 printf("Failed to load any expressions from: %s\n", file_name.c_str());
430 return;
431 }
432
433 typedef exprtk::symbol_table<double> symbol_table_t;
434 typedef exprtk::expression<double> expression_t;
435 typedef exprtk::parser<double> parser_t;
436
437 std::deque<expression_t> expression_list;
438
439 symbol_table_t symbol_table;
440
441 double a = 1.1;
442 double b = 2.2;
443 double c = 3.3;
444 double x = 2.123456;
445 double y = 3.123456;
446 double z = 4.123456;
447 double w = 5.123456;
448
449 exprtk::rtl::vecops::package<double> vector_package;
450
451 symbol_table.add_variable("a", a);
452 symbol_table.add_variable("b", b);
453 symbol_table.add_variable("c", c);
454
455 symbol_table.add_variable("x", x);
456 symbol_table.add_variable("y", y);
457 symbol_table.add_variable("z", z);
458 symbol_table.add_variable("w", w);
459
460 exprtk::polynomial<double, 1> poly01;
461 exprtk::polynomial<double, 2> poly02;
462 exprtk::polynomial<double, 3> poly03;
463 exprtk::polynomial<double, 4> poly04;
464 exprtk::polynomial<double, 5> poly05;
465 exprtk::polynomial<double, 6> poly06;
466 exprtk::polynomial<double, 7> poly07;
467 exprtk::polynomial<double, 8> poly08;
468 exprtk::polynomial<double, 9> poly09;
469 exprtk::polynomial<double,10> poly10;
470 exprtk::polynomial<double,11> poly11;
471 exprtk::polynomial<double,12> poly12;
472
473 symbol_table.add_function("poly01", poly01);
474 symbol_table.add_function("poly02", poly02);
475 symbol_table.add_function("poly03", poly03);
476 symbol_table.add_function("poly04", poly04);
477 symbol_table.add_function("poly05", poly05);
478 symbol_table.add_function("poly06", poly06);
479 symbol_table.add_function("poly07", poly07);
480 symbol_table.add_function("poly08", poly08);

Callers 1

mainFunction · 0.85

Calls 2

load_expression_fileFunction · 0.85
valueMethod · 0.45

Tested by

no test coverage detected