39 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// Implement quadruple-precision (and extended) support for <complex>.11 12#ifndef BOOST_MATH_CSTDFLOAT_COMPLEX_2014_02_15_HPP_13 #define BOOST_MATH_CSTDFLOAT_COMPLEX_2014_02_15_HPP_14 15 #include <boost/math/cstdfloat/cstdfloat_types.hpp>16 #include <boost/math/cstdfloat/cstdfloat_limits.hpp>17 #include <boost/math/cstdfloat/cstdfloat_cmath.hpp>18 #include <boost/math/cstdfloat/cstdfloat_iostream.hpp>19 20 #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS)21 #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS defined.22 #endif23 #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH)24 #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined.25 #endif26 #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM)27 #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM defined.28 #endif29 30 #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) && defined(BOOST_MATH_USE_FLOAT128) && !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT)31 32 #define BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE boost::math::cstdfloat::detail::float_internal128_t33 #include <boost/math/cstdfloat/cstdfloat_complex_std.hpp>34 #undef BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE35 36 #endif // Not BOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT (i.e., the user would like to have libquadmath support)37 38#endif // BOOST_MATH_CSTDFLOAT_COMPLEX_2014_02_15_HPP_39