Storm
A Modern Probabilistic Model Checker
|
#include <IntegerLiteralExpression.h>
Public Member Functions | |
IntegerLiteralExpression (ExpressionManager const &manager, int_fast64_t value) | |
Creates an integer literal expression with the given value. | |
IntegerLiteralExpression (IntegerLiteralExpression const &other)=default | |
IntegerLiteralExpression & | operator= (IntegerLiteralExpression const &other)=delete |
IntegerLiteralExpression (IntegerLiteralExpression &&)=default | |
IntegerLiteralExpression & | operator= (IntegerLiteralExpression &&)=delete |
virtual | ~IntegerLiteralExpression ()=default |
virtual int_fast64_t | evaluateAsInt (Valuation const *valuation=nullptr) const override |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting integer value. | |
virtual double | evaluateAsDouble (Valuation const *valuation=nullptr) const override |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting double value. | |
virtual bool | isLiteral () const override |
Retrieves whether the expression is a literal. | |
virtual void | gatherVariables (std::set< storm::expressions::Variable > &variables) const override |
Retrieves the set of all variables that appear in the expression. | |
virtual std::shared_ptr< BaseExpression const > | simplify () const override |
Simplifies the expression according to some simple rules. | |
virtual boost::any | accept (ExpressionVisitor &visitor, boost::any const &data) const override |
Accepts the given visitor by calling its visit method. | |
virtual bool | isIntegerLiteralExpression () const override |
int_fast64_t | getValue () const |
Retrieves the value of the integer literal. | |
![]() | |
BaseExpression (ExpressionManager const &manager, Type const &type) | |
Constructs a base expression with the given return type. | |
BaseExpression (BaseExpression const &)=default | |
BaseExpression & | operator= (BaseExpression const &)=delete |
BaseExpression (BaseExpression &&)=default | |
BaseExpression & | operator= (BaseExpression &&)=delete |
virtual | ~BaseExpression ()=default |
Expression | toExpression () const |
Converts the base expression to a proper expression. | |
virtual bool | evaluateAsBool (Valuation const *valuation=nullptr) const |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting boolean value. | |
virtual storm::RationalNumber | evaluateAsRational () const |
Evaluates the expression and returns the resulting rational number. | |
virtual uint_fast64_t | getArity () const |
Returns the arity of the expression. | |
virtual std::shared_ptr< BaseExpression const > | getOperand (uint_fast64_t operandIndex) const |
Retrieves the given operand from the expression. | |
virtual std::string const & | getIdentifier () const |
Retrieves the identifier associated with this expression. | |
virtual OperatorType | getOperator () const |
Retrieves the operator of a function application. | |
virtual bool | containsVariables () const |
Retrieves whether the expression contains a variable. | |
virtual bool | isVariable () const |
Retrieves whether the expression is a variable. | |
virtual bool | isTrue () const |
Checks if the expression is equal to the boolean literal true. | |
virtual bool | isFalse () const |
Checks if the expression is equal to the boolean literal false. | |
virtual bool | isFunctionApplication () const |
Checks if the expression is a function application (of any sort). | |
std::shared_ptr< BaseExpression const > | reduceNesting () const |
Tries to flatten the syntax tree of the expression, e.g., 1 + (2 + (3 + 4)) becomes (1 + 2) + (3 + 4) | |
bool | hasNumericalType () const |
Retrieves whether the expression has a numerical type, i.e., integer or double. | |
bool | hasIntegerType () const |
Retrieves whether the expression has an integer type. | |
bool | hasBitVectorType () const |
Retrieves whether the expression has a bitvector type. | |
bool | hasBooleanType () const |
Retrieves whether the expression has a boolean type. | |
bool | hasRationalType () const |
Retrieves whether the expression has a rational return type. | |
std::shared_ptr< BaseExpression const > | getSharedPointer () const |
Retrieves a shared pointer to this expression. | |
ExpressionManager const & | getManager () const |
Retrieves the manager responsible for this expression. | |
Type const & | getType () const |
Retrieves the type of the expression. | |
virtual bool | isIfThenElseExpression () const |
IfThenElseExpression const & | asIfThenElseExpression () const |
virtual bool | isBinaryBooleanFunctionExpression () const |
BinaryBooleanFunctionExpression const & | asBinaryBooleanFunctionExpression () const |
virtual bool | isBinaryNumericalFunctionExpression () const |
BinaryNumericalFunctionExpression const & | asBinaryNumericalFunctionExpression () const |
virtual bool | isBinaryRelationExpression () const |
BinaryRelationExpression const & | asBinaryRelationExpression () const |
virtual bool | isBooleanLiteralExpression () const |
BooleanLiteralExpression const & | asBooleanLiteralExpression () const |
IntegerLiteralExpression const & | asIntegerLiteralExpression () const |
virtual bool | isRationalLiteralExpression () const |
RationalLiteralExpression const & | asRationalLiteralExpression () const |
virtual bool | isUnaryBooleanFunctionExpression () const |
UnaryBooleanFunctionExpression const & | asUnaryBooleanFunctionExpression () const |
virtual bool | isUnaryNumericalFunctionExpression () const |
UnaryNumericalFunctionExpression const & | asUnaryNumericalFunctionExpression () const |
virtual bool | isVariableExpression () const |
VariableExpression const & | asVariableExpression () const |
virtual bool | isPredicateExpression () const |
PredicateExpression const & | asPredicateExpression () const |
Protected Member Functions | |
virtual void | printToStream (std::ostream &stream) const override |
Prints the expression to the given stream. | |
Definition at line 9 of file IntegerLiteralExpression.h.
storm::expressions::IntegerLiteralExpression::IntegerLiteralExpression | ( | ExpressionManager const & | manager, |
int_fast64_t | value | ||
) |
Creates an integer literal expression with the given value.
manager | The manager responsible for this expression. |
value | The value of the integer literal. |
Definition at line 8 of file IntegerLiteralExpression.cpp.
|
default |
|
default |
|
virtualdefault |
|
overridevirtual |
Accepts the given visitor by calling its visit method.
visitor | The visitor that is to be accepted. |
Implements storm::expressions::BaseExpression.
Definition at line 33 of file IntegerLiteralExpression.cpp.
|
overridevirtual |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting double value.
If the return type of the expression is not a double an exception is thrown.
valuation | The valuation of unknowns under which to evaluate the expression. |
Reimplemented from storm::expressions::BaseExpression.
Definition at line 17 of file IntegerLiteralExpression.cpp.
|
overridevirtual |
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valuation and returns the resulting integer value.
If the return type of the expression is not an integer an exception is thrown.
valuation | The valuation of unknowns under which to evaluate the expression. |
Reimplemented from storm::expressions::BaseExpression.
Definition at line 13 of file IntegerLiteralExpression.cpp.
|
overridevirtual |
Retrieves the set of all variables that appear in the expression.
The | set into which all variables in this expresson are inserted. |
Implements storm::expressions::BaseExpression.
Definition at line 25 of file IntegerLiteralExpression.cpp.
int_fast64_t storm::expressions::IntegerLiteralExpression::getValue | ( | ) | const |
Retrieves the value of the integer literal.
Definition at line 41 of file IntegerLiteralExpression.cpp.
|
overridevirtual |
Reimplemented from storm::expressions::BaseExpression.
Definition at line 37 of file IntegerLiteralExpression.cpp.
|
overridevirtual |
Retrieves whether the expression is a literal.
Reimplemented from storm::expressions::BaseExpression.
Definition at line 21 of file IntegerLiteralExpression.cpp.
|
delete |
|
delete |
|
overrideprotectedvirtual |
Prints the expression to the given stream.
stream | The stream to which to write the expression. |
Implements storm::expressions::BaseExpression.
Definition at line 45 of file IntegerLiteralExpression.cpp.
|
overridevirtual |
Simplifies the expression according to some simple rules.
Implements storm::expressions::BaseExpression.
Definition at line 29 of file IntegerLiteralExpression.cpp.