Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::expressions::LinearCoefficientVisitor Class Reference

#include <LinearCoefficientVisitor.h>

Inheritance diagram for storm::expressions::LinearCoefficientVisitor:
Collaboration diagram for storm::expressions::LinearCoefficientVisitor:

Classes

struct  VariableCoefficients
 

Public Member Functions

 LinearCoefficientVisitor ()=default
 Creates a linear coefficient visitor.
 
VariableCoefficients getLinearCoefficients (Expression const &expression)
 Computes the (double) coefficients of all identifiers appearing in the expression if the expression was rewritten as a sum of atoms.
 
virtual boost::any visit (IfThenElseExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BinaryBooleanFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BinaryNumericalFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BinaryRelationExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (VariableExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (UnaryBooleanFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (UnaryNumericalFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BooleanLiteralExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (IntegerLiteralExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (RationalLiteralExpression const &expression, boost::any const &data) override
 
- Public Member Functions inherited from storm::expressions::ExpressionVisitor
virtual ~ExpressionVisitor ()=default
 
virtual boost::any visit (PredicateExpression const &expression, boost::any const &data)
 

Detailed Description

Definition at line 13 of file LinearCoefficientVisitor.h.

Constructor & Destructor Documentation

◆ LinearCoefficientVisitor()

storm::expressions::LinearCoefficientVisitor::LinearCoefficientVisitor ( )
default

Creates a linear coefficient visitor.

Member Function Documentation

◆ getLinearCoefficients()

LinearCoefficientVisitor::VariableCoefficients storm::expressions::LinearCoefficientVisitor::getLinearCoefficients ( Expression const &  expression)

Computes the (double) coefficients of all identifiers appearing in the expression if the expression was rewritten as a sum of atoms.

. If the expression is not linear, an exception is thrown.

Parameters
expressionThe expression for which to compute the coefficients.
Returns
A structure representing the coefficients of the variables and the constant part.

Definition at line 92 of file LinearCoefficientVisitor.cpp.

◆ visit() [1/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( BinaryBooleanFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [2/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( BinaryNumericalFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [3/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( BinaryRelationExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [4/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( BooleanLiteralExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [5/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( IfThenElseExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [6/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( IntegerLiteralExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [7/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( RationalLiteralExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [8/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( UnaryBooleanFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [9/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( UnaryNumericalFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

◆ visit() [10/10]

boost::any storm::expressions::LinearCoefficientVisitor::visit ( VariableExpression const &  expression,
boost::any const &  data 
)
overridevirtual

The documentation for this class was generated from the following files: