Subject: Re: [Boost-bugs] [Boost C++ Libraries] #13508: Errors compiling float128.h on windows with icc 17.0 and MSVC 14.11 toolchain
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-04-02 17:19:00
#13508: Errors compiling float128.h on windows with icc 17.0 and MSVC 14.11
toolchain
------------------------------------------------+--------------------------
Reporter: Metodi Nikolov <metodi.nikolov@â¦> | Owner: John Maddock
Type: Bugs | Status: new
Milestone: To Be Determined | Component:
| multiprecision
Version: Boost 1.66.0 | Severity: Problem
Resolution: | Keywords:
------------------------------------------------+--------------------------
Comment (by John Maddock):
Unfortunately, that configuration has dropped off our testing radar... can
you tell me if the patch below fixes things?
{{{
include/boost/multiprecision/float128.hpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/boost/multiprecision/float128.hpp
b/include/boost/multiprecision/float128.hpp
index a729523..095634f 100644
--- a/include/boost/multiprecision/float128.hpp
+++ b/include/boost/multiprecision/float128.hpp
@@ -482,15 +482,16 @@ inline void eval_atan2(float128_backend& result,
const float128_backend& a, cons
{
result.value() = atan2q(a.value(), b.value());
}
+#ifndef BOOST_MP_USE_QUAD
inline void eval_multiply_add(float128_backend& result, const
float128_backend& a, const float128_backend& b, const float128_backend& c)
{
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());
}
+#endif
inline std::size_t hash_value(const float128_backend& val)
{
@@ -550,6 +551,7 @@ inline std::size_t hash_value(const float128_backend&
val)
return log1pq(arg.backend().value());
}
+#ifndef BOOST_MP_USE_QUAD
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)
{
@@ -564,6 +566,7 @@ inline std::size_t hash_value(const float128_backend&
val)
{
result.value() = remquoq(a.value(), b.value(), pi);
}
+#endif
} // namespace multiprecision
}}}
-- Ticket URL: <https://svn.boost.org/trac10/ticket/13508#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2018-04-02 17:25:54 UTC