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