| 25 | |
| 26 | template <typename T> |
| 27 | void stddev_example() |
| 28 | { |
| 29 | typedef exprtk::expression<T> expression_t; |
| 30 | typedef exprtk::parser<T> parser_t; |
| 31 | |
| 32 | const std::string stddev_program = |
| 33 | " var x[25] := { " |
| 34 | " 1, 2, 3, 4, 5, " |
| 35 | " 6, 7, 8, 9, 10, " |
| 36 | " 11, 12, 13, 14, 15, " |
| 37 | " 16, 17, 18, 19, 20, " |
| 38 | " 21, 22, 23, 24, 25 " |
| 39 | " }; " |
| 40 | " " |
| 41 | " sqrt(sum([x - avg(x)]^2) / x[]) "; |
| 42 | |
| 43 | expression_t expression; |
| 44 | |
| 45 | parser_t parser; |
| 46 | parser.compile(stddev_program,expression); |
| 47 | |
| 48 | const T stddev = expression.value(); |
| 49 | |
| 50 | printf("stddev(1..25) = %10.6f\n",stddev); |
| 51 | } |
| 52 | |
| 53 | int main() |
| 54 | { |