• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // 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   #endif
23   #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   #endif
26   #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   #endif
29 
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_t
33   #include <boost/math/cstdfloat/cstdfloat_complex_std.hpp>
34   #undef BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE
35 
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