1 #ifndef ABLATELIBRARY_FORMULABASE_HPP
2 #define ABLATELIBRARY_FORMULABASE_HPP
6 #include "mathFunction.hpp"
7 #include "parameters/parameters.hpp"
9 namespace ablate::mathFunctions {
17 std::minstd_rand0 pseudoRandomEngine{0};
20 std::default_random_engine randomEngine{0};
40 explicit FormulaBase(std::string functionString,
const std::shared_ptr<ablate::parameters::Parameters>& constants);
47 static std::invalid_argument
ConvertToException(mu::Parser::exception_type& exception);
62 static mu::value_type PowerFunction(mu::value_type a, mu::value_type b);
70 static mu::value_type RandomFunction(
void* data, mu::value_type lowerBound, mu::value_type upperBound);
78 static mu::value_type PseudoRandomFunction(
void* data, mu::value_type lowerBound, mu::value_type upperBound);
86 static mu::value_type ModulusOperator(mu::value_type left, mu::value_type right);
Definition: mathFunction.hpp:13