| 5311 | |
| 5312 | template <typename T> |
| 5313 | bool run_test12() |
| 5314 | { |
| 5315 | typedef exprtk::expression<T> expression_t; |
| 5316 | |
| 5317 | static const std::string expression_string[] = |
| 5318 | { |
| 5319 | "equal(poly01(x,2.2,1.1),(2.2x^1+1.1))", |
| 5320 | "equal(poly02(x,3.3,2.2,1.1),(3.3x^2+2.2x^1+1.1))", |
| 5321 | "equal(poly03(x,4.4,3.3,2.2,1.1),(4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5322 | "equal(poly04(x,5.5,4.4,3.3,2.2,1.1),(5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5323 | "equal(poly05(x,6.6,5.5,4.4,3.3,2.2,1.1),(6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5324 | "equal(poly06(x,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5325 | "equal(poly07(x,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5326 | "equal(poly08(x,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5327 | "equal(poly09(x,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5328 | "equal(poly10(x,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(2.2x^10+1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5329 | "equal(poly11(x,3.3,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(3.3x^11+2.2x^10+1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5330 | "equal(poly12(x,4.4,3.3,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(4.4x^12+3.3x^11+2.2x^10+1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5331 | "EquaL(Poly01(x,2.2,1.1),(2.2x^1+1.1))", |
| 5332 | "eQuAl(pOly02(x,3.3,2.2,1.1),(3.3x^2+2.2x^1+1.1))", |
| 5333 | "eqUal(poLy03(x,4.4,3.3,2.2,1.1),(4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5334 | "eQuAl(polY04(x,5.5,4.4,3.3,2.2,1.1),(5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5335 | "EquAl(pOLy05(x,6.6,5.5,4.4,3.3,2.2,1.1),(6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5336 | "EqUaL(pOly06(x,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5337 | "Equal(Poly07(x,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5338 | "eQual(PoLy08(x,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5339 | "eqUal(pOlY09(x,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5340 | "equAl(POLY10(x,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(2.2x^10+1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5341 | "equaL(PolY11(x,3.3,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(3.3x^11+2.2x^10+1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))", |
| 5342 | "EQUAL(pOLy12(x,4.4,3.3,2.2,1.1,9.9,8.8,7.7,6.6,5.5,4.4,3.3,2.2,1.1),(4.4x^12+3.3x^11+2.2x^10+1.1x^9+9.9x^8+8.8x^7+7.7x^6+6.6x^5+5.5x^4+4.4x^3+3.3x^2+2.2x^1+1.1))" |
| 5343 | }; |
| 5344 | |
| 5345 | static const std::size_t expression_string_size = sizeof(expression_string) / sizeof(std::string); |
| 5346 | |
| 5347 | T x = T(1.23456); |
| 5348 | |
| 5349 | exprtk::polynomial<T, 1> poly01; |
| 5350 | exprtk::polynomial<T, 2> poly02; |
| 5351 | exprtk::polynomial<T, 3> poly03; |
| 5352 | exprtk::polynomial<T, 4> poly04; |
| 5353 | exprtk::polynomial<T, 5> poly05; |
| 5354 | exprtk::polynomial<T, 6> poly06; |
| 5355 | exprtk::polynomial<T, 7> poly07; |
| 5356 | exprtk::polynomial<T, 8> poly08; |
| 5357 | exprtk::polynomial<T, 9> poly09; |
| 5358 | exprtk::polynomial<T,10> poly10; |
| 5359 | exprtk::polynomial<T,11> poly11; |
| 5360 | exprtk::polynomial<T,12> poly12; |
| 5361 | |
| 5362 | exprtk::symbol_table<T> symbol_table; |
| 5363 | |
| 5364 | symbol_table.add_variable("x",x); |
| 5365 | symbol_table.add_function("poly01", poly01); |
| 5366 | symbol_table.add_function("poly02", poly02); |
| 5367 | symbol_table.add_function("poly03", poly03); |
| 5368 | symbol_table.add_function("poly04", poly04); |
| 5369 | symbol_table.add_function("poly05", poly05); |
| 5370 | symbol_table.add_function("poly06", poly06); |