Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
NumberTraits.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <cstdint>
8
9namespace storm {
10template<typename ValueType>
12 static const bool SupportsExponential = false;
13 static const bool IsExact = false;
15 static const bool HasInfinity = false;
16};
17
18template<>
19struct NumberTraits<double> {
20 static const bool SupportsExponential = true;
21 static const bool IsExact = false;
22 static const bool HasInfinity = true;
23
24 typedef uint64_t IntegerType;
25};
26
27#if defined(STORM_HAVE_CLN)
28template<>
29struct NumberTraits<storm::ClnRationalNumber> {
30 static const bool SupportsExponential = false;
31 static const bool IsExact = true;
32 static const bool HasInfinity = false;
33
34 typedef ClnIntegerNumber IntegerType;
35};
36#endif
37
38#if defined(STORM_HAVE_GMP)
39template<>
40struct NumberTraits<storm::GmpRationalNumber> {
41 static const bool SupportsExponential = false;
42 static const bool IsExact = true;
43 static const bool HasInfinity = false;
44
45 typedef GmpIntegerNumber IntegerType;
46};
47#endif
48
49template<>
51 static const bool SupportsExponential = true;
52 static const bool IsExact = false;
53 static const bool HasInfinity = false;
54};
55
56template<>
58 static const bool SupportsExponential = true;
59 static const bool IsExact = true;
60 static const bool HasInfinity = false;
61};
62
63template<>
65 static const bool SupportsExponential = false;
66 static const bool IsExact = true;
67 static const bool HasInfinity = false;
68};
69} // namespace storm
carl::Interval< storm::RationalNumber > RationalInterval
carl::Interval< double > Interval
Interval type.
carl::RationalFunction< Polynomial, true > RationalFunction
static const bool SupportsExponential
static const bool HasInfinity
static const bool SupportsExponential
static const bool HasInfinity
static const bool IsExact