Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
parametric.h
Go to the documentation of this file.
1#ifndef STORM_UTILITY_PARAMETRIC_H
2#define STORM_UTILITY_PARAMETRIC_H
3
5
6#include <map>
7#include <set>
8
9namespace storm {
10namespace utility {
11namespace parametric {
12
16template<typename FunctionType>
18 typedef void type;
19};
20
24template<typename FunctionType>
26 typedef void type;
27};
28
29#ifdef STORM_HAVE_CARL
30template<>
33};
34template<>
35struct CoefficientType<storm::RationalFunction> {
36 typedef storm::RationalFunctionCoefficient type;
37};
38#endif
39
40template<typename FunctionType>
41using Valuation = std::map<typename VariableType<FunctionType>::type, typename CoefficientType<FunctionType>::type>;
42
46template<typename FunctionType>
47typename CoefficientType<FunctionType>::type evaluate(FunctionType const& function, Valuation<FunctionType> const& valuation);
48
52template<typename FunctionType>
53FunctionType substitute(FunctionType const& function, Valuation<FunctionType> const& valuation);
54
58template<typename FunctionType>
59void gatherOccurringVariables(FunctionType const& function, std::set<typename VariableType<FunctionType>::type>& variableSet);
60
64template<typename FunctionType>
65bool isLinear(FunctionType const& function);
66
70template<typename FunctionType>
71bool isMultiLinearPolynomial(FunctionType const& function);
72
73} // namespace parametric
74
75} // namespace utility
76} // namespace storm
77
78#endif /* STORM_UTILITY_PARAMETRIC_H */
bool isMultiLinearPolynomial(FunctionType const &function)
Checks whether the function is a multilinear polynomial, i.e., a polynomial which only considers vari...
bool isLinear(FunctionType const &function)
Checks whether the function is linear (in one parameter)
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:41
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.
CoefficientType< FunctionType >::type evaluate(FunctionType const &function, Valuation< FunctionType > const &valuation)
Evaluates the given function wrt.
LabParser.cpp.
Definition cli.cpp:18
carl::Variable RationalFunctionVariable
Acess the type of coefficients from a given function type.
Definition parametric.h:25
Access the type of variables from a given function type.
Definition parametric.h:17