Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
parametric.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <map>
6#include <set>
7
8namespace storm {
9namespace utility {
10namespace parametric {
11
15template<typename FunctionType>
17 typedef void type;
18};
19
23template<typename FunctionType>
25 typedef void type;
26};
27
28template<>
32template<>
34 typedef storm::RationalFunctionCoefficient type;
35};
36
37template<typename FunctionType>
39template<typename FunctionType>
41
42template<typename FunctionType>
43using Valuation = std::map<typename VariableType<FunctionType>::type, typename CoefficientType<FunctionType>::type>;
44
48template<typename ReturnType, typename FunctionType>
49ReturnType evaluate(FunctionType const& function, Valuation<FunctionType> const& valuation);
50
54template<typename FunctionType>
55FunctionType substitute(FunctionType const& function, Valuation<FunctionType> const& valuation);
56
60template<typename FunctionType>
61void gatherOccurringVariables(FunctionType const& function, std::set<typename VariableType<FunctionType>::type>& variableSet);
62
66template<typename FunctionType>
67bool isLinear(FunctionType const& function);
68
72template<typename FunctionType>
73bool isMultiLinearPolynomial(FunctionType const& function);
74
75} // namespace parametric
76} // namespace utility
77} // namespace storm
bool isMultiLinearPolynomial(FunctionType const &function)
Checks whether the function is a multilinear polynomial, i.e., a polynomial which only considers vari...
typename CoefficientType< FunctionType >::type CoefficientType_t
Definition parametric.h:40
bool isLinear(FunctionType const &function)
Checks whether the function is linear (in one parameter)
typename VariableType< FunctionType >::type VariableType_t
Definition parametric.h:38
FunctionType substitute(FunctionType const &function, Valuation< FunctionType > const &valuation)
Evaluates the given function wrt.
std::map< typename VariableType< FunctionType >::type, typename CoefficientType< FunctionType >::type > Valuation
Definition parametric.h:43
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.
double evaluate(storm::RationalFunction const &function, Valuation< storm::RationalFunction > const &valuation)
carl::Variable RationalFunctionVariable
Acess the type of coefficients from a given function type.
Definition parametric.h:24
Access the type of variables from a given function type.
Definition parametric.h:16