Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::utility::parametric Namespace Reference

Classes

struct  CoefficientType
 Acess the type of coefficients from a given function type. More...
 
struct  CoefficientType< storm::RationalFunction >
 
struct  VariableType
 Access the type of variables from a given function type. More...
 
struct  VariableType< storm::RationalFunction >
 

Typedefs

template<typename FunctionType >
using Valuation = std::map< typename VariableType< FunctionType >::type, typename CoefficientType< FunctionType >::type >
 

Functions

template<typename ReturnType >
ReturnType evaluateRationalFunction (storm::RationalFunction const &function, Valuation< storm::RationalFunction > const &valuation)
 
template<>
double evaluate (storm::RationalFunction const &function, Valuation< storm::RationalFunction > const &valuation)
 
template<>
storm::RationalFunction substitute< storm::RationalFunction > (storm::RationalFunction const &function, Valuation< storm::RationalFunction > const &valuation)
 
template<>
void gatherOccurringVariables< storm::RationalFunction > (storm::RationalFunction const &function, std::set< typename VariableType< storm::RationalFunction >::type > &variableSet)
 
template<>
bool isLinear< storm::RationalFunction > (storm::RationalFunction const &function)
 
template<>
bool isMultiLinearPolynomial< storm::RationalFunction > (storm::RationalFunction const &function)
 
template<typename ReturnType , typename FunctionType >
ReturnType evaluate (FunctionType const &function, Valuation< FunctionType > const &valuation)
 Evaluates the given function wrt.
 
template<typename FunctionType >
FunctionType substitute (FunctionType const &function, Valuation< FunctionType > const &valuation)
 Evaluates the given function wrt.
 
template<typename FunctionType >
void gatherOccurringVariables (FunctionType const &function, std::set< typename VariableType< FunctionType >::type > &variableSet)
 Add all variables that occur in the given function to the the given set.
 
template<typename FunctionType >
bool isLinear (FunctionType const &function)
 Checks whether the function is linear (in one parameter)
 
template<typename FunctionType >
bool isMultiLinearPolynomial (FunctionType const &function)
 Checks whether the function is a multilinear polynomial, i.e., a polynomial which only considers variables with exponent at most 1.
 

Typedef Documentation

◆ Valuation

template<typename FunctionType >
using storm::utility::parametric::Valuation = typedef std::map<typename VariableType<FunctionType>::type, typename CoefficientType<FunctionType>::type>

Definition at line 38 of file parametric.h.

Function Documentation

◆ evaluate() [1/2]

template<typename ReturnType , typename FunctionType >
ReturnType storm::utility::parametric::evaluate ( FunctionType const &  function,
Valuation< FunctionType > const &  valuation 
)

Evaluates the given function wrt.

the given valuation and returns the required type.

◆ evaluate() [2/2]

template<>
double storm::utility::parametric::evaluate ( storm::RationalFunction const &  function,
Valuation< storm::RationalFunction > const &  valuation 
)

Definition at line 26 of file parametric.cpp.

◆ evaluateRationalFunction()

template<typename ReturnType >
ReturnType storm::utility::parametric::evaluateRationalFunction ( storm::RationalFunction const &  function,
Valuation< storm::RationalFunction > const &  valuation 
)

Definition at line 17 of file parametric.cpp.

◆ gatherOccurringVariables()

template<typename FunctionType >
void storm::utility::parametric::gatherOccurringVariables ( FunctionType const &  function,
std::set< typename VariableType< FunctionType >::type > &  variableSet 
)

Add all variables that occur in the given function to the the given set.

◆ gatherOccurringVariables< storm::RationalFunction >()

template<>
void storm::utility::parametric::gatherOccurringVariables< storm::RationalFunction > ( storm::RationalFunction const &  function,
std::set< typename VariableType< storm::RationalFunction >::type > &  variableSet 
)

Definition at line 51 of file parametric.cpp.

◆ isLinear()

template<typename FunctionType >
bool storm::utility::parametric::isLinear ( FunctionType const &  function)

Checks whether the function is linear (in one parameter)

◆ isLinear< storm::RationalFunction >()

Definition at line 57 of file parametric.cpp.

◆ isMultiLinearPolynomial()

template<typename FunctionType >
bool storm::utility::parametric::isMultiLinearPolynomial ( FunctionType const &  function)

Checks whether the function is a multilinear polynomial, i.e., a polynomial which only considers variables with exponent at most 1.

◆ isMultiLinearPolynomial< storm::RationalFunction >()

◆ substitute()

template<typename FunctionType >
FunctionType storm::utility::parametric::substitute ( FunctionType const &  function,
Valuation< FunctionType > const &  valuation 
)

Evaluates the given function wrt.

the given valuation

◆ substitute< storm::RationalFunction >()