--- Boost/boost_1_53_0/boost/multiprecision/cpp_int.hpp 2012-12-13 04:09:08.000000000 +1100 +++ fixBoost/multiprecision/cpp_int.hpp 2013-06-19 19:58:54.000000000 +1000 @@ -212,7 +212,7 @@ BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(double_limb_type i)BOOST_NOEXCEPT : m_data(i), m_limbs(i > max_limb_value ? 2 : 1), m_sign(false), m_internal(true) { } BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(signed_double_limb_type i)BOOST_NOEXCEPT - : m_data(i), m_limbs(i < 0 ? (-i > max_limb_value ? 2 : 1) : (i > max_limb_value ? 2 : 1)), + : m_data(i), m_limbs(i < 0 ? (-i > max_limb_value || i == -i ? 2 : 1) : (i > max_limb_value ? 2 : 1)), m_sign(i < 0), m_internal(true) { } #endif //