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

source code of boost/boost/cstdfloat.hpp