Storm 1.14.0.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 clang diagnostic ignored "-Wthread-safety-negative"
8#pragma clang diagnostic ignored "-Wundefined-reinterpret-cast"
9#pragma clang diagnostic ignored "-Wunused-template"
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} // namespace carl
44
45namespace storm {
47typedef carl::Relation CompareRelation;
48
49RationalFunctionVariable createRFVariable(std::string const& name);
50
51} // 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