From 55dd38c67c9d77f387098529e1ee0f61ca223959 Mon Sep 17 00:00:00 2001 From: mratsim Date: Fri, 30 Mar 2018 14:25:04 +0200 Subject: [PATCH] Fix borrow border case: see https://github.com/status-im/mpint/issues/10 --- src/private/uint_binary_ops.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/private/uint_binary_ops.nim b/src/private/uint_binary_ops.nim index a46190b..8768206 100644 --- a/src/private/uint_binary_ops.nim +++ b/src/private/uint_binary_ops.nim @@ -36,7 +36,7 @@ proc `-=`*(x: var MpUintImpl, y: MpUintImpl) {.noSideEffect, inline.}= # Clang on MacOS does with the -d:release switch and MpUint[uint32] (uint64) type SubTy = type x.lo x.lo -= y.lo - x.hi -= (x.lo < not y.lo).toSubtype(SubTy) + y.hi + x.hi -= (x.lo <= not y.lo).toSubtype(SubTy) + y.hi proc `-`*(x, y: MpUintImpl): MpUintImpl {.noSideEffect, noInit, inline.}= # Substraction for multi-precision unsigned int