Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RationalNumberForward.h
Go to the documentation of this file.
1#pragma once
2
3#include "storm-config.h"
4
5#if defined(STORM_HAVE_GMP)
6// The small gmp.h header is always included.
7#include <gmp.h>
8template<typename U, typename V>
9class __gmp_expr;
10#endif
11
12#if defined(STORM_HAVE_CLN)
13namespace cln {
14class cl_RA;
15class cl_I;
16} // namespace cln
17#endif
18
19namespace storm {
20#if defined(STORM_HAVE_CLN)
21typedef cln::cl_RA ClnRationalNumber;
22typedef cln::cl_I ClnIntegerNumber;
23#endif
24#if defined(STORM_HAVE_GMP)
25typedef __gmp_expr<mpq_t, mpq_t> GmpRationalNumber; // corresponds to mpq_class
26typedef __gmp_expr<mpz_t, mpz_t> GmpIntegerNumber; // corresponds to mpz_class
27#endif
28
29#if defined(STORM_HAVE_CLN) && defined(STORM_USE_CLN_EA)
30typedef ClnRationalNumber RationalNumber;
31#elif defined(STORM_HAVE_GMP) && !defined(STORM_USE_CLN_EA)
32typedef GmpRationalNumber RationalNumber;
33#elif defined(STORM_USE_CLN_EA)
34#error CLN is to be used, but is not available.
35#else
36#error GMP is to be used, but is not available.
37#endif
38} // namespace storm