diff options
Diffstat (limited to 'boost/multiprecision/float128.hpp')
-rw-r--r-- | boost/multiprecision/float128.hpp | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/boost/multiprecision/float128.hpp b/boost/multiprecision/float128.hpp index 702d488cd6..8de3af6519 100644 --- a/boost/multiprecision/float128.hpp +++ b/boost/multiprecision/float128.hpp @@ -399,15 +399,6 @@ inline void eval_fabs(float128_backend& result, const float128_backend& arg) inline void eval_trunc(float128_backend& result, const float128_backend& arg) { - if(isnanq(arg.value()) || isinfq(arg.value())) - { - result = boost::math::policies::raise_rounding_error( - "boost::multiprecision::trunc<%1%>(%1%)", 0, - number<float128_backend, et_off>(arg), - number<float128_backend, et_off>(arg), - boost::math::policies::policy<>()).backend(); - return; - } result.value() = truncq(arg.value()); } /* @@ -494,6 +485,11 @@ inline void eval_multiply_add(float128_backend& result, const float128_backend& result.value() = fmaq(a.value(), b.value(), c.value()); } +inline int eval_signbit BOOST_PREVENT_MACRO_SUBSTITUTION(const float128_backend& arg) +{ + return ::signbitq(arg.value()); +} + inline std::size_t hash_value(const float128_backend& val) { return boost::hash_value(static_cast<double>(val.value())); @@ -553,12 +549,6 @@ inline std::size_t hash_value(const float128_backend& val) } template <multiprecision::expression_template_option ExpressionTemplates> - inline int signbit BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ExpressionTemplates>& arg) - { - return ::signbitq(arg.backend().value()); - } - - template <multiprecision::expression_template_option ExpressionTemplates> inline boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ExpressionTemplates> copysign BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ExpressionTemplates>& a, const boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ExpressionTemplates>& b) { return ::copysignq(a.backend().value(), b.backend().value()); |