summaryrefslogtreecommitdiff
path: root/libraries/ghc-bignum/src/GHC/Num/Natural.hs
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2020-07-28 11:30:44 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-07-29 15:09:02 -0400
commit96c31ea1f0303ebabc59edccff2e88444fe02722 (patch)
treeb3da29f2cfdd29b1f1e479be215e6478cedb3e82 /libraries/ghc-bignum/src/GHC/Num/Natural.hs
parente3db4b4c5b7f5d2a62ebd88e174fca07d04c4e18 (diff)
downloadhaskell-96c31ea1f0303ebabc59edccff2e88444fe02722.tar.gz
Fix bug in Natural multiplication (fix #18509)
A bug was lingering in Natural multiplication (inverting two limbs) despite QuickCheck tests used during the development leading to wrong results (independently of the selected backend).
Diffstat (limited to 'libraries/ghc-bignum/src/GHC/Num/Natural.hs')
-rw-r--r--libraries/ghc-bignum/src/GHC/Num/Natural.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/libraries/ghc-bignum/src/GHC/Num/Natural.hs b/libraries/ghc-bignum/src/GHC/Num/Natural.hs
index ac35b65522..62e9f33e1c 100644
--- a/libraries/ghc-bignum/src/GHC/Num/Natural.hs
+++ b/libraries/ghc-bignum/src/GHC/Num/Natural.hs
@@ -86,8 +86,8 @@ naturalFromWord# x = NS x
-- | Convert two Word# (most-significant first) into a Natural
naturalFromWord2# :: Word# -> Word# -> Natural
naturalFromWord2# 0## 0## = naturalZero
-naturalFromWord2# 0## n = NS n
-naturalFromWord2# w1 w2 = NB (bigNatFromWord2# w2 w1)
+naturalFromWord2# 0## l = NS l
+naturalFromWord2# h l = NB (bigNatFromWord2# h l)
-- | Create a Natural from a Word
naturalFromWord :: Word -> Natural