diff options
Diffstat (limited to 'boost/spirit/home/support/detail/sign.hpp')
-rw-r--r-- | boost/spirit/home/support/detail/sign.hpp | 39 |
1 files changed, 1 insertions, 38 deletions
diff --git a/boost/spirit/home/support/detail/sign.hpp b/boost/spirit/home/support/detail/sign.hpp index 7c1bfb06c7..a04552a527 100644 --- a/boost/spirit/home/support/detail/sign.hpp +++ b/boost/spirit/home/support/detail/sign.hpp @@ -13,58 +13,21 @@ #pragma once #endif -#include <boost/config/no_tr1/cmath.hpp> -#include <boost/version.hpp> -#if BOOST_VERSION < 104000 -#include <boost/spirit/home/support/detail/math/fpclassify.hpp> -#include <boost/spirit/home/support/detail/math/signbit.hpp> -#else -#include <boost/math/special_functions/fpclassify.hpp> #include <boost/math/special_functions/sign.hpp> -#endif namespace boost { namespace spirit { namespace detail { -#if BOOST_VERSION < 104000 - // signbit(-NAN) is broken for versions of Boost earlier than 1.40.0 - // This routine has been taken and adapted from Johan Rade's fp_traits - // library - template<typename T> - inline bool (signbit)(T x) - { - return (boost::spirit::math::signbit)(x); - } - - template<typename T> - inline T (changesign)(T x) - { - return (boost::spirit::math::changesign)(x); - } -#else template<typename T> inline bool (signbit)(T x) { return (boost::math::signbit)(x) ? true : false; } - // This routine has been taken and adapted from Johan Rade's fp_traits - // library template<typename T> inline T (changesign)(T x) { -#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY) - return -x; -#else - typedef typename math::detail::fp_traits<T>::type traits_type; - - typename traits_type::bits a; - traits_type::get_bits(x, a); - a ^= traits_type::sign; - traits_type::set_bits(x, a); - return x; -#endif + return (boost::math::changesign)(x); } -#endif }}} |