X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Farbint.cpp;fp=src%2Farbint.cpp;h=582d99a84752eaa7333cf153dc599f98aafd2ad1;hp=696dcd0312214597178099b1a08b61e60e8db921;hb=a2791dc25392472c9dc2c8a2f738f6695fc8d292;hpb=f1fab7ee4ee08ca10019450beda303ab71a12ee8 diff --git a/src/arbint.cpp b/src/arbint.cpp index 696dcd0..582d99a 100644 --- a/src/arbint.cpp +++ b/src/arbint.cpp @@ -203,7 +203,10 @@ Arbint & Arbint::SubBasic(const Arbint & sub) { m_sign = !m_sign; for (unsigned i = 0; i < m_digits.size(); ++i) - m_digits[i] = (~m_digits[i]) + 1; + m_digits[i] = (~m_digits[i]); + std::vector one_digits(m_digits.size(), 0L); + one_digits[0] = 1; + add_digits((digit_t*)m_digits.data(), (digit_t*)one_digits.data(), m_digits.size()); } return *this; }