From a78c788171d45057406b571846e55541eef49688 Mon Sep 17 00:00:00 2001 From: Olivier Gayot Date: Sat, 18 Nov 2017 13:54:29 +0100 Subject: Made use of 32bits integer instead of 64bits This will allow multiplication to hold the result of the multiplication of two 32 bits integer in a 64 bits integer. Signed-off-by: Olivier Gayot --- number.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'number.cpp') diff --git a/number.cpp b/number.cpp index acd60fd..bd05dbf 100644 --- a/number.cpp +++ b/number.cpp @@ -20,7 +20,7 @@ number::to_hex_string() const /* If more operands are present, successive ones must be padded. */ ss << std::setfill('0'); - ss << std::setw(16); + ss << std::setw(8); } return ss.str(); @@ -71,10 +71,10 @@ number::operator+(const number &n) const result._operands.push_back(n1 + n2 + (carry ? 1 : 0)); - if (carry && (n1 == UINT64_MAX)) { + if (carry && (n1 == UINT32_MAX)) { carry = true; } else { - carry = ((UINT64_MAX - n1 - (carry ? 1 : 0)) < n2); + carry = ((UINT32_MAX - n1 - (carry ? 1 : 0)) < n2); } ++it; -- cgit v1.2.3