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

Function run_test11

exprtk_test.cpp:5240–5310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5238
5239template <typename T>
5240bool run_test11()
5241{
5242 typedef exprtk::expression<T> expression_t;
5243
5244 std::string expression_string = "(x + y) / 3";
5245
5246 T x = T(1.0);
5247 T y = T(2.0);
5248
5249 exprtk::symbol_table<T> symbol_table;
5250 symbol_table.add_variable("x",x);
5251 symbol_table.add_variable("y",y);
5252
5253 expression_t expression;
5254 expression.register_symbol_table(symbol_table);
5255
5256 static const std::size_t rounds = 500;
5257
5258 for (std::size_t i = 0; i < rounds; ++i)
5259 {
5260 {
5261 exprtk::parser<T> parser;
5262
5263 if (!parser.compile(expression_string,expression))
5264 {
5265 printf("run_test11() - Error: %s Expression: %s\n",
5266 parser.error().c_str(),
5267 expression_string.c_str());
5268
5269 return false;
5270 }
5271 }
5272
5273 if (not_equal(expression.value(),(x + y) / T(3),T(0.000001)))
5274 {
5275 printf("run_test11() - Error in evaluation!(1)\n");
5276 return false;
5277 }
5278
5279 expression.release();
5280
5281 if (false == (!expression))
5282 {
5283 printf("run_test11() - Error in evaluation!(2)\n");
5284 return false;
5285 }
5286
5287 {
5288 exprtk::parser<T> parser;
5289
5290 if (!parser.compile(expression_string,expression))
5291 {
5292 printf("run_test11() - Error: %s Expression: %s\n",
5293 parser.error().c_str(),
5294 expression_string.c_str());
5295
5296 return false;
5297 }

Callers

nothing calls this directly

Calls 2

not_equalFunction · 0.85
valueMethod · 0.45

Tested by

no test coverage detected