1 | /////////////////////////////////////////////////////////////////////////////// |
2 | // Copyright Christopher Kormanyos 2014. |
3 | // Copyright John Maddock 2014. |
4 | // Copyright Paul Bristow 2014. |
5 | // Distributed under the Boost Software License, |
6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt |
7 | // or copy at http://www.boost.org/LICENSE_1_0.txt) |
8 | // |
9 | |
10 | // <boost/cstdfloat.hpp> implements floating-point typedefs having |
11 | // specified widths, as described in N3626 (proposed for C++14). |
12 | // See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf |
13 | |
14 | #ifndef _BOOST_CSTDFLOAT_2014_01_09_HPP_ |
15 | #define _BOOST_CSTDFLOAT_2014_01_09_HPP_ |
16 | |
17 | // Include the floating-point type definitions. |
18 | #include <boost/math/cstdfloat/cstdfloat_types.hpp> |
19 | |
20 | // Support a specialization of std::numeric_limits<> for the wrapped quadmath library (if available). |
21 | #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS) |
22 | #include <boost/math/cstdfloat/cstdfloat_limits.hpp> |
23 | #endif |
24 | |
25 | // Support <cmath> functions for the wrapped quadmath library (if available). |
26 | #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH) |
27 | #include <boost/math/cstdfloat/cstdfloat_cmath.hpp> |
28 | #endif |
29 | |
30 | // Support I/O stream operations for the wrapped quadmath library (if available). |
31 | #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM) |
32 | #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH) |
33 | #error You can not use <boost/math/cstdfloat/cstdfloat_iostream.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined. |
34 | #endif |
35 | #include <boost/math/cstdfloat/cstdfloat_iostream.hpp> |
36 | #endif |
37 | |
38 | // Support a specialization of std::complex<> for the wrapped quadmath library (if available). |
39 | #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_COMPLEX) |
40 | #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS) |
41 | #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS defined. |
42 | #endif |
43 | #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH) |
44 | #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined. |
45 | #endif |
46 | #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM) |
47 | #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM defined. |
48 | #endif |
49 | #include <boost/math/cstdfloat/cstdfloat_complex.hpp> |
50 | #endif |
51 | |
52 | |
53 | // Undefine BOOST_NO_FLOAT128_T because this constant is not meant for public use. |
54 | #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) |
55 | #undef BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T |
56 | #endif |
57 | |
58 | #endif // _BOOST_CSTDFLOAT_2014_01_09_HPP_ |
59 | |