3#include <boost/any.hpp>
15 boost::optional<RewardAccumulation> rewardAccumulation)
29 out << discountFactor.toString();
41 return discountFactor;
46 checkNoVariablesInDiscountFactor(discountFactor);
47 double value = discountFactor.evaluateAsDouble();
48 STORM_LOG_THROW(value > 0 && value < 1, storm::exceptions::InvalidPropertyException,
"Discount factor must be strictly between 0 and 1.");
54 checkNoVariablesInDiscountFactor(discountFactor);
55 storm::RationalNumber value = discountFactor.evaluateAsRational();
56 STORM_LOG_THROW(value > 0 && value < 1, storm::exceptions::InvalidPropertyException,
"Discount factor must be strictly between 0 and 1.");
62 "Cannot evaluate discount factor '" << factor <<
"' as it contains undefined constants.");
66 return visitor.
visit(*
this, data);
bool containsVariables() const
Retrieves whether the expression contains a variable.
void gatherVariables(std::set< storm::expressions::Variable > &variables) const
Retrieves the set of all variables that appear in the expression.
#define STORM_LOG_THROW(cond, exception, message)