4#include <unordered_map>
16template<
typename RationalType>
40 mutable std::unique_ptr<exprtk::parser<ValueType>>
parser;
43 mutable std::unique_ptr<exprtk::symbol_table<ValueType>>
symbolTable;
ExpressionEvaluatorBase(storm::expressions::ExpressionManager const &manager)
This class is responsible for managing a set of typed variables and all expressions using these varia...
exprtk::expression< double > CompiledExpressionType
void setIntegerValue(storm::expressions::Variable const &variable, int_fast64_t value) override
std::vector< ValueType > integerValues
ExprtkExpressionEvaluatorBase(storm::expressions::ExpressionManager const &manager)
std::unique_ptr< exprtk::symbol_table< ValueType > > symbolTable
std::unique_ptr< exprtk::parser< ValueType > > parser
bool asBool(Expression const &expression) const override
void setBooleanValue(storm::expressions::Variable const &variable, bool value) override
int_fast64_t asInt(Expression const &expression) const override
CompiledExpressionType const & getCompiledExpression(storm::expressions::Expression const &expression) const
Retrieves a compiled version of the given expression.
ExprtkCompiledExpression::CompiledExpressionType CompiledExpressionType
void setRationalValue(storm::expressions::Variable const &variable, double value) override
std::vector< ValueType > booleanValues
std::vector< ValueType > rationalValues
double asRational(Expression const &expression) const override
ExprtkExpressionEvaluator(storm::expressions::ExpressionManager const &manager)
Creates an expression evaluator that is capable of evaluating expressions managed by the given manage...