Skip to content

Commit 4707d5f

Browse files
authored
Merge pull request #3 from mekhovyyekulaki/add-fix
Fix addition with negative int64_t
2 parents 3f4e6c2 + a107b3f commit 4707d5f

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

src/Bint/arithmetics.cpp

+7-10
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,13 @@ Bint& Bint::operator += (const int64_t a) {
8181
bool carry = false;
8282
addUintWithCarry(number[0], a, carry);
8383

84-
if (carry) {
85-
if (negA) {
86-
for(int j = 1; j < (int)number.size(); j++) {
87-
addUintWithCarry(number[j], -1, carry);
88-
}
89-
} else {
90-
for(int j = 1; j < (int)number.size(); j++) {
91-
addUintWithCarry(number[j], 0, carry);
92-
if (!carry) break;
93-
}
84+
if (negA) {
85+
for(int j = 1; j < (int)number.size(); j++) {
86+
addUintWithCarry(number[j], -1, carry);
87+
}
88+
} else {
89+
for(int j = 1; carry && j < (int)number.size(); j++) {
90+
addUintWithCarry(number[j], 0, carry);
9491
}
9592
}
9693

0 commit comments

Comments
 (0)