#include "stmdsp.hpp" #include "exprtk.hpp" #include #include std::vector siggen_formula_parse(const std::string& formulaString) { double x = 0; exprtk::symbol_table symbol_table; symbol_table.add_variable("x", x); symbol_table.add_constants(); exprtk::expression expression; expression.register_symbol_table(symbol_table); exprtk::parser parser; parser.compile(formulaString, expression); std::vector samples; for (x = 0; samples.size() < stmdsp::SAMPLES_MAX; x += 1) { auto y = static_cast(expression.value()); samples.push_back(y); } return samples; }