59 lines · plain
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.txt7// or copy at http://www.boost.org/LICENSE_1_0.txt)8//9 10// <boost/cstdfloat.hpp> implements floating-point typedefs having11// specified widths, as described in N3626 (proposed for C++14).12// See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf13 14#ifndef BOOST_MATH_CSTDFLOAT_2014_01_09_HPP_15 #define BOOST_MATH_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 #endif24 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 #endif29 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 #endif35 #include <boost/math/cstdfloat/cstdfloat_iostream.hpp>36 #endif37 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 #endif43 #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 #endif46 #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 #endif49 #include <boost/math/cstdfloat/cstdfloat_complex.hpp>50 #endif51 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_T56 #endif57 58#endif // BOOST_MATH_CSTDFLOAT_2014_01_09_HPP_59