Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
LinearityCheckVisitor.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_EXPRESSIONS_LINEARITYCHECKVISITOR_H_
2#define STORM_STORAGE_EXPRESSIONS_LINEARITYCHECKVISITOR_H_
3
6
7namespace storm {
8namespace expressions {
10 public:
15
22 bool check(Expression const& expression, bool booleanIsLinear = false);
23
24 virtual boost::any visit(IfThenElseExpression const& expression, boost::any const& data) override;
25 virtual boost::any visit(BinaryBooleanFunctionExpression const& expression, boost::any const& data) override;
26 virtual boost::any visit(BinaryNumericalFunctionExpression const& expression, boost::any const& data) override;
27 virtual boost::any visit(BinaryRelationExpression const& expression, boost::any const& data) override;
28 virtual boost::any visit(VariableExpression const& expression, boost::any const& data) override;
29 virtual boost::any visit(UnaryBooleanFunctionExpression const& expression, boost::any const& data) override;
30 virtual boost::any visit(UnaryNumericalFunctionExpression const& expression, boost::any const& data) override;
31 virtual boost::any visit(BooleanLiteralExpression const& expression, boost::any const& data) override;
32 virtual boost::any visit(IntegerLiteralExpression const& expression, boost::any const& data) override;
33 virtual boost::any visit(RationalLiteralExpression const& expression, boost::any const& data) override;
34
35 private:
36 enum class LinearityStatus { NonLinear, LinearContainsVariables, LinearWithoutVariables };
37};
38} // namespace expressions
39} // namespace storm
40
41#endif /* STORM_STORAGE_EXPRESSIONS_LINEARITYCHECKVISITOR_H_ */
LinearityCheckVisitor()
Creates a linearity check visitor.
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
bool check(Expression const &expression, bool booleanIsLinear=false)
Checks that the given expression is linear.
LabParser.cpp.
Definition cli.cpp:18