From c129757f4095d11ff746300b0ff5cc8b75f275fc Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 22 May 2025 19:42:08 +0100 Subject: [PATCH] Correct assert. --- include/boost/multiprecision/cpp_int/bitwise.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/multiprecision/cpp_int/bitwise.hpp b/include/boost/multiprecision/cpp_int/bitwise.hpp index cfcdbf60..550b62aa 100644 --- a/include/boost/multiprecision/cpp_int/bitwise.hpp +++ b/include/boost/multiprecision/cpp_int/bitwise.hpp @@ -398,6 +398,8 @@ inline BOOST_MP_CXX14_CONSTEXPR void left_shift_generic(Int& result, double_limb { const limb_type offset = static_cast(s / Int::limb_bits); const limb_type shift = static_cast(s % Int::limb_bits); + + typename Int::limb_pointer pr = result.limbs(); BOOST_ASSERT(shift < sizeof(pr[0]) * CHAR_BIT); std::size_t ors = result.size(); @@ -410,8 +412,6 @@ inline BOOST_MP_CXX14_CONSTEXPR void left_shift_generic(Int& result, double_limb result.resize(rs, rs); bool truncated = result.size() != rs; - typename Int::limb_pointer pr = result.limbs(); - if (offset > rs) { // The result is shifted past the end of the result: