Skip to content

Commit ce3f7a1

Browse files
authored
Merge pull request #263 from chfast/submul
Optimize submul part of udivrem
2 parents b05e8a1 + 791d1c5 commit ce3f7a1

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

include/intx/intx.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1690,11 +1690,11 @@ inline uint64_t submul(
16901690
uint64_t borrow = 0;
16911691
for (int i = 0; i < len; ++i)
16921692
{
1693-
const auto s = subc(x[i], borrow);
1693+
const auto s = x[i] - borrow;
16941694
const auto p = umul(y[i], multiplier);
1695-
const auto t = subc(s.value, p[0]);
1696-
r[i] = t.value;
1697-
borrow = p[1] + s.carry + t.carry;
1695+
borrow = p[1] + (x[i] < s);
1696+
r[i] = s - p[0];
1697+
borrow += (s < r[i]);
16981698
}
16991699
return borrow;
17001700
}

0 commit comments

Comments
 (0)