diff --git a/include/boost/multiprecision/detail/number_base.hpp b/include/boost/multiprecision/detail/number_base.hpp index f0c3c300..8766047d 100644 --- a/include/boost/multiprecision/detail/number_base.hpp +++ b/include/boost/multiprecision/detail/number_base.hpp @@ -96,8 +96,7 @@ BOOST_CONSTEXPR typename enable_if_c<(is_signed::value || is_floating_point::type ui_type; - return t < 0 ? static_cast(1u) + static_cast(-(t + 1)) : static_cast(t); + return t < 0 ? static_cast::type>(1u) + static_cast::type>(-(t + 1)) : static_cast::type>(t); } template BOOST_CONSTEXPR typename enable_if_c<(is_unsigned::value), T>::type unsigned_abs(T t) BOOST_NOEXCEPT