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

Function run_test20

exprtk_test.cpp:9986–10283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9984
9985template <typename T>
9986bool run_test20()
9987{
9988 typedef exprtk::expression<T> expression_t;
9989
9990 {
9991 for (std::size_t i = 0; i < 100; ++i)
9992 {
9993 exprtk::symbol_table<T> symbol_table0; // primary symbol_table
9994 exprtk::symbol_table<T> symbol_table1;
9995 exprtk::symbol_table<T> symbol_table2;
9996 exprtk::symbol_table<T> symbol_table3;
9997
9998 symbol_table0.add_constants();
9999
10000 expression_t expression;
10001 expression.register_symbol_table(symbol_table0);
10002 expression.register_symbol_table(symbol_table1);
10003 expression.register_symbol_table(symbol_table2);
10004 expression.register_symbol_table(symbol_table3);
10005
10006 exprtk::parser<T> parser;
10007
10008 my_usr<T> musr;
10009 musr.next_value(true);
10010 parser.enable_unknown_symbol_resolver(&musr);
10011
10012 std::string expr_str = "v01+c02+v03+c04+v05+c06+v07+c08+v09+c10+"
10013 "v11+c12+v13+c14+v15+c16+v17+c18+v19+c20+"
10014 "v21+c22+v23+c24+v25+c26+v27+c28+v29+c30 ";
10015
10016 if (!parser.compile(expr_str,expression))
10017 {
10018 printf("run_test20() - [1] Error: %s Expression: %s\n",
10019 parser.error().c_str(),
10020 expr_str.c_str());
10021
10022 return false;
10023 }
10024
10025 T sum_1_30 = T((1 + 30) * 15);
10026 T result = expression.value();
10027
10028 if (sum_1_30 != result)
10029 {
10030 printf("run_test20() - [1] Error in evaluation! (1) Expression: %s\n",
10031 expr_str.c_str());
10032
10033 return false;
10034 }
10035 }
10036 }
10037
10038 {
10039 for (std::size_t i = 0; i < 100; ++i)
10040 {
10041 exprtk::symbol_table<T> symbol_table0; // primary symbol_table
10042 exprtk::symbol_table<T> symbol_table1;
10043 exprtk::symbol_table<T> symbol_table2;

Callers

nothing calls this directly

Calls 1

valueMethod · 0.45

Tested by

no test coverage detected