3#include <boost/any.hpp>
18 boost::optional<RewardAccumulation> rewardAccumulation)
24 std::vector<TimeBoundReference>
const& timeBoundReferences,
25 boost::optional<RewardAccumulation> rewardAccumulation)
40 "Cannot evaluate discount factor '" << factor <<
"' as it contains undefined constants.");
51 return discountFactor;
56 checkNoVariablesInDiscountFactor(discountFactor);
57 double value = discountFactor.evaluateAsDouble();
58 STORM_LOG_THROW(value > 0 && value < 1, storm::exceptions::InvalidPropertyException,
"Discount factor must be strictly between 0 and 1.");
64 checkNoVariablesInDiscountFactor(discountFactor);
65 storm::RationalNumber value = discountFactor.evaluateAsRational();
66 STORM_LOG_THROW(value > 0 && value < 1, storm::exceptions::InvalidPropertyException,
"Discount factor must be strictly between 0 and 1.");
106 out << discountFactor;
111 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.
std::string const & getRewardName() const
RewardAccumulation const & getRewardAccumulation() const
#define STORM_LOG_THROW(cond, exception, message)