9 bool observable, std::string
const& filename, uint_fast64_t lineNumber)
10 :
Variable(variable, initialValueExpression, observable, filename, lineNumber),
11 lowerBoundExpression(lowerBoundExpression),
12 upperBoundExpression(upperBoundExpression) {
17 return this->lowerBoundExpression.isInitialized();
22 <<
"' which is not bounded from below.");
23 return this->lowerBoundExpression;
27 return this->upperBoundExpression.isInitialized();
32 <<
"' which is not bounded from above.");
33 return this->upperBoundExpression;
82 stream << variable.getName() <<
": ";
83 if (variable.hasLowerBoundExpression() || variable.hasUpperBoundExpression()) {
86 if (variable.hasLowerBoundExpression()) {
87 stream << variable.getLowerBoundExpression();
90 if (variable.hasUpperBoundExpression()) {
91 stream << variable.getUpperBoundExpression();
97 if (variable.hasInitialValue()) {
98 stream <<
" init " << variable.getInitialValueExpression();
Expression boolean(bool value) const
Creates an expression that characterizes the given boolean literal.
ExpressionManager const & getManager() const
Retrieves the manager responsible for this variable.
storm::expressions::Expression getRangeExpression() const
Retrieves an expression characterizing the legal range of the variable.
storm::expressions::Expression const & getUpperBoundExpression() const
Retrieves an expression defining the upper bound for this integer variable.
storm::expressions::Expression const & getLowerBoundExpression() const
Retrieves an expression defining the lower bound for this integer variable.
bool hasUpperBoundExpression() const
IntegerVariable substituteNonStandardPredicates() const
IntegerVariable()=default
virtual void createMissingInitialValue() override
Equips the variable with an initial value based on its type if not initial value is present.
bool hasLowerBoundExpression() const
IntegerVariable substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution) const
Substitutes all identifiers in the boolean variable according to the given map.
storm::expressions::Expression const & getInitialValueExpression() const
Retrieves the expression defining the initial value of the variable.
storm::expressions::Variable const & getExpressionVariable() const
Retrieves the expression variable associated with this variable.
void setInitialValueExpression(storm::expressions::Expression const &initialValueExpression)
Sets the expression defining the initial value of the variable.
std::string const & getName() const
Retrieves the name of the variable.
bool hasInitialValue() const
Retrieves whether the variable has an initial value.
bool isObservable() const
Retrieves whether the variable is observable.
Variable(Variable const &otherVariable)=default
#define STORM_LOG_ASSERT(cond, message)
std::ostream & operator<<(std::ostream &stream, Assignment const &assignment)