Storm
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>
38using Valuation = std::map<typename VariableType<FunctionType>::type, typename CoefficientType<FunctionType>::type>;
39
43template<typename ReturnType, typename FunctionType>
44ReturnType evaluate(FunctionType const& function, Valuation<FunctionType> const& valuation);
45
49template<typename FunctionType>
50FunctionType substitute(FunctionType const& function, Valuation<FunctionType> const& valuation);
51
55template<typename FunctionType>
56void gatherOccurringVariables(FunctionType const& function, std::set<typename VariableType<FunctionType>::type>& variableSet);
57
61template<typename FunctionType>
62bool isLinear(FunctionType const& function);
63
67template<typename FunctionType>
68bool isMultiLinearPolynomial(FunctionType const& function);
69
70} // namespace parametric
71} // namespace utility
72} // namespace storm
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:38
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)
LabParser.cpp.
Definition cli.cpp:18
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