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