Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RationalFunctionAdapter.h
Go to the documentation of this file.
1#pragma once
2
4
5#pragma clang diagnostic push
6#pragma clang diagnostic ignored "-Wmacro-redefined" // clash for likely() macro between Ginac and Sylvan
7#pragma GCC diagnostic push
8#pragma GCC diagnostic ignored "-Wfree-nonheap-object"
9#pragma GCC diagnostic ignored "-Wpessimizing-move"
10
11#include <carl/core/FactorizedPolynomial.h>
12#include <carl/core/MultivariatePolynomial.h>
13#include <carl/core/RationalFunction.h>
14#include <carl/core/Relation.h>
15#include <carl/core/VariablePool.h>
16
17#pragma GCC diagnostic pop
18#pragma clang diagnostic pop
19
20namespace carl {
21// Define hash values for all polynomials and rational function.
22// Needed for boost::hash_combine() and other functions
23template<typename C, typename O, typename P>
24inline size_t hash_value(carl::MultivariatePolynomial<C, O, P> const& p) {
25 std::hash<carl::MultivariatePolynomial<C, O, P>> h;
26 return h(p);
27}
28
29template<typename Pol>
31 std::hash<carl::FactorizedPolynomial<Pol>> h;
32 return h(p);
33}
34
35template<typename Pol, bool AutoSimplify>
37 std::hash<carl::RationalFunction<Pol, AutoSimplify>> h;
38 return h(f);
39}
40} // namespace carl
41
42namespace storm {
44typedef carl::Relation CompareRelation;
45
46RationalFunctionVariable createRFVariable(std::string const& name);
47
48} // namespace storm
size_t hash_value(carl::Interval< Number > const &i)
carl::Cache< carl::PolynomialFactorizationPair< RawPolynomial > > RawPolynomialCache
RationalFunctionVariable createRFVariable(std::string const &name)
carl::Relation CompareRelation
carl::Variable RationalFunctionVariable