Storm
1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
LinearityCheckVisitor.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
storm/storage/expressions/Expression.h
"
4
#include "
storm/storage/expressions/ExpressionVisitor.h
"
5
6
namespace
storm
{
7
namespace
expressions
{
8
class
LinearityCheckVisitor
:
public
ExpressionVisitor
{
9
public
:
13
LinearityCheckVisitor
();
14
21
bool
check
(
Expression
const
& expression,
bool
booleanIsLinear =
false
);
22
23
virtual
boost::any
visit
(
IfThenElseExpression
const
& expression, boost::any
const
& data)
override
;
24
virtual
boost::any
visit
(
BinaryBooleanFunctionExpression
const
& expression, boost::any
const
& data)
override
;
25
virtual
boost::any
visit
(
BinaryNumericalFunctionExpression
const
& expression, boost::any
const
& data)
override
;
26
virtual
boost::any
visit
(
BinaryRelationExpression
const
& expression, boost::any
const
& data)
override
;
27
virtual
boost::any
visit
(
VariableExpression
const
& expression, boost::any
const
& data)
override
;
28
virtual
boost::any
visit
(
UnaryBooleanFunctionExpression
const
& expression, boost::any
const
& data)
override
;
29
virtual
boost::any
visit
(
UnaryNumericalFunctionExpression
const
& expression, boost::any
const
& data)
override
;
30
virtual
boost::any
visit
(
BooleanLiteralExpression
const
& expression, boost::any
const
& data)
override
;
31
virtual
boost::any
visit
(
IntegerLiteralExpression
const
& expression, boost::any
const
& data)
override
;
32
virtual
boost::any
visit
(
RationalLiteralExpression
const
& expression, boost::any
const
& data)
override
;
33
34
private
:
35
enum class
LinearityStatus { NonLinear, LinearContainsVariables, LinearWithoutVariables };
36
};
37
}
// namespace expressions
38
}
// namespace storm
Expression.h
ExpressionVisitor.h
storm::expressions::BinaryBooleanFunctionExpression
Definition
BinaryBooleanFunctionExpression.h:8
storm::expressions::BinaryNumericalFunctionExpression
Definition
BinaryNumericalFunctionExpression.h:8
storm::expressions::BinaryRelationExpression
Definition
BinaryRelationExpression.h:8
storm::expressions::BooleanLiteralExpression
Definition
BooleanLiteralExpression.h:8
storm::expressions::Expression
Definition
Expression.h:21
storm::expressions::ExpressionVisitor
Definition
ExpressionVisitor.h:21
storm::expressions::IfThenElseExpression
Definition
IfThenElseExpression.h:8
storm::expressions::IntegerLiteralExpression
Definition
IntegerLiteralExpression.h:8
storm::expressions::LinearityCheckVisitor::LinearityCheckVisitor
LinearityCheckVisitor()
Creates a linearity check visitor.
Definition
LinearityCheckVisitor.cpp:11
storm::expressions::LinearityCheckVisitor::visit
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
Definition
LinearityCheckVisitor.cpp:20
storm::expressions::LinearityCheckVisitor::check
bool check(Expression const &expression, bool booleanIsLinear=false)
Checks that the given expression is linear.
Definition
LinearityCheckVisitor.cpp:15
storm::expressions::RationalLiteralExpression
Definition
RationalLiteralExpression.h:8
storm::expressions::UnaryBooleanFunctionExpression
Definition
UnaryBooleanFunctionExpression.h:8
storm::expressions::UnaryNumericalFunctionExpression
Definition
UnaryNumericalFunctionExpression.h:8
storm::expressions::VariableExpression
Definition
VariableExpression.h:9
storm::expressions
Definition
AbstractionInformation.h:17
storm
Definition
AutomaticSettings.cpp:13
src
storm
storage
expressions
LinearityCheckVisitor.h
Generated by
1.15.0