Storm 1.10.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
TranscendentalNumberLiteralExpression.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_EXPRESSIONS_TRANSCENDENTALNUMBERLITERALEXPRESSION_H_
2#define STORM_STORAGE_EXPRESSIONS_TRANSCENDENTALNUMBERLITERALEXPRESSION_H_
3
6
7namespace storm {
8namespace expressions {
10 public:
15 PI, // π
16 E // EulerNumber
17 };
25
26 // Instantiate constructors and assignments with their default implementations.
32
33 // Override base class methods.
34 virtual double evaluateAsDouble(Valuation const* valuation = nullptr) const override;
35 virtual bool isLiteral() const override;
36 virtual void gatherVariables(std::set<storm::expressions::Variable>& variables) const override;
37 virtual std::shared_ptr<BaseExpression const> simplify() const override;
38 virtual boost::any accept(ExpressionVisitor& visitor, boost::any const& data) const override;
39
45
50 std::string asString() const;
51
52 protected:
53 // Override base class method.
54 virtual void printToStream(std::ostream& stream) const override;
55
56 private:
57 // The operand of the unary expression.
58 const TranscendentalNumber value;
59};
60} // namespace expressions
61} // namespace storm
62
63#endif /* STORM_STORAGE_EXPRESSIONS_TRANSCENDENTALNUMBERLITERALEXPRESSION_H_ */
The base class of all expression classes.
This class is responsible for managing a set of typed variables and all expressions using these varia...
virtual double evaluateAsDouble(Valuation const *valuation=nullptr) const override
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valua...
TranscendentalNumber const & getTranscendentalNumber() const
Getter for the constant value stored by the object.
std::string asString() const
Get the Transcendental number as string, like in the Jani file (single character)
TranscendentalNumberLiteralExpression & operator=(TranscendentalNumberLiteralExpression const &other)=delete
virtual boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const override
Accepts the given visitor by calling its visit method.
TranscendentalNumberLiteralExpression(TranscendentalNumberLiteralExpression const &other)=default
virtual std::shared_ptr< BaseExpression const > simplify() const override
Simplifies the expression according to some simple rules.
TranscendentalNumberLiteralExpression & operator=(TranscendentalNumberLiteralExpression &&)=delete
virtual void gatherVariables(std::set< storm::expressions::Variable > &variables) const override
Retrieves the set of all variables that appear in the expression.
virtual void printToStream(std::ostream &stream) const override
Prints the expression to the given stream.
TranscendentalNumber
Enum class to represent the supported TranscendentalNumbers.
virtual bool isLiteral() const override
Retrieves whether the expression is a literal.
TranscendentalNumberLiteralExpression(TranscendentalNumberLiteralExpression &&)=default
The base class of all valuations of variables.
Definition Valuation.h:16
LabParser.cpp.