Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
IntervalAdapter.h
Go to the documentation of this file.
1#pragma once
2
4
5// isNan() below needs storm::RationalNumber to be a complete type.
7
8#pragma clang diagnostic push
9#pragma clang diagnostic ignored "-Wundefined-reinterpret-cast"
10#pragma clang diagnostic ignored "-Wunused-template"
11#include <carl/interval/Interval.h>
12#pragma clang diagnostic pop
13
14namespace carl {
15template<typename Number>
16inline size_t hash_value(carl::Interval<Number> const& i) {
17 std::hash<carl::Interval<Number>> h;
18 return h(i);
19}
20} // namespace carl
21
22namespace storm {
23
27using BoundType = carl::BoundType;
28
29} // namespace storm
30
31namespace carl {
32// Rationals are never NaN; avoids instantiating carl's isNan(), which lacks a rational overload.
33template<>
34inline bool Interval<storm::RationalNumber>::isNan() const {
35 return false;
36}
37} // namespace carl
size_t hash_value(carl::Interval< Number > const &i)
carl::BoundType BoundType
Type describing the interval bounds.