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

Function run_test09

exprtk_test.cpp:3759–3903  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3757
3758template <typename T>
3759bool run_test09()
3760{
3761 {
3762 static const std::size_t rounds = 1000;
3763
3764 for (std::size_t i = 0; i < rounds; ++i)
3765 {
3766 typedef exprtk::expression<T> expression_t;
3767 const std::string expression_string =
3768 "myfunc0(sin(x * pi),y / 2) + myfunc1(sin(x * pi),y / 2)+"
3769 "myfunc2(sin(x * pi),y / 2) + myfunc3(sin(x * pi),y / 2)+"
3770 "myfunc4(sin(x * pi),y / 2) + myfunc5(sin(x * pi),y / 2)+"
3771 "myfunc6(sin(x * pi),y / 2) + myfunc7(sin(x * pi),y / 2)+"
3772 "myfunc8(sin(x * pi),y / 2) + myfunc9(sin(x * pi),y / 2)+"
3773 "myfunc0(sin(x * pi),y / 2) + myfunc1(sin(x * pi),y / 2)+"
3774 "myfunc2(sin(x * pi),y / 2) + myfunc3(sin(x * pi),y / 2)+"
3775 "myfunc4(sin(x * pi),y / 2) + myfunc5(sin(x * pi),y / 2)+"
3776 "myfunc6(sin(x * pi),y / 2) + myfunc7(sin(x * pi),y / 2)+"
3777 "myfunc8(sin(x * pi),y / 2) + myfunc9(sin(x * pi),y / 2)+"
3778 "myfunc0(sin(x * pi),y / 2) + myfunc1(sin(x * pi),y / 2)+"
3779 "myfunc2(sin(x * pi),y / 2) + myfunc3(sin(x * pi),y / 2)+"
3780 "myfunc4(sin(x * pi),y / 2) + myfunc5(sin(x * pi),y / 2)+"
3781 "myfunc6(sin(x * pi),y / 2) + myfunc7(sin(x * pi),y / 2)+"
3782 "myfunc8(sin(x * pi),y / 2) + myfunc9(sin(x * pi),y / 2)+"
3783 "myfunc0(sin(x * pi),y / 2) + myfunc1(sin(x * pi),y / 2)+"
3784 "myfunc2(sin(x * pi),y / 2) + myfunc3(sin(x * pi),y / 2)+"
3785 "myfunc4(sin(x * pi),y / 2) + myfunc5(sin(x * pi),y / 2)+"
3786 "myfunc6(sin(x * pi),y / 2) + myfunc7(sin(x * pi),y / 2)+"
3787 "myfunc8(sin(x * pi),y / 2) + myfunc9(sin(x * pi),y / 2)";
3788
3789 T x = T(1) + (i / T(10000));
3790 T y = T(2) + (i / T(10000));
3791 myfunc<T> mf;
3792
3793 exprtk::symbol_table<T> symbol_table;
3794 symbol_table.add_variable("x",x);
3795 symbol_table.add_variable("y",y);
3796 symbol_table.add_function("myfunc0",mf);
3797 symbol_table.add_function("myfunc1",mf);
3798 symbol_table.add_function("myfunc2",mf);
3799 symbol_table.add_function("myfunc3",mf);
3800 symbol_table.add_function("myfunc4",mf);
3801 symbol_table.add_function("myfunc5",mf);
3802 symbol_table.add_function("myfunc6",mf);
3803 symbol_table.add_function("myfunc7",mf);
3804 symbol_table.add_function("myfunc8",mf);
3805 symbol_table.add_function("myfunc9",mf);
3806 symbol_table.add_constants();
3807
3808 expression_t expression;
3809 expression.register_symbol_table(symbol_table);
3810
3811 {
3812 exprtk::parser<T> parser;
3813
3814 if (!parser.compile(expression_string,expression))
3815 {
3816 printf("run_test09() - Error: %s Expression: %s\n",

Callers

nothing calls this directly

Calls 2

not_equalFunction · 0.85
valueMethod · 0.45

Tested by

no test coverage detected