Workaround for MSVC that seems not to find the default_ops overload in some situations.

This commit is contained in:
jzmaddock
2015-03-06 18:56:13 +00:00
parent 3bf93f94a9
commit 4f6efdb36a

View File

@@ -136,6 +136,7 @@ public:
{
BOOST_MATH_STD_USING
using default_ops::eval_add;
typedef typename boost::multiprecision::detail::canonical<int, cpp_bin_float>::type bf_int_type;
switch((boost::math::fpclassify)(f))
{
@@ -181,7 +182,9 @@ public:
#endif
f -= ipart;
m_exponent += bits;
eval_add(*this, ipart);
cpp_bin_float t;
t = static_cast<bf_int_type>(ipart);
eval_add(*this, t);
}
m_exponent += static_cast<Exponent>(e);
return *this;