Call `popCountBigNat` directly (#9818)
authorHerbert Valerio Riedel <hvr@gnu.org>
Sat, 22 Nov 2014 14:09:46 +0000 (15:09 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Sat, 22 Nov 2014 14:14:03 +0000 (15:14 +0100)
This calls the `popCountBigNat` primitive directly instead of going
through `Integer`'s `popCount`.

libraries/base/GHC/Natural.hs

index 3adfd40..e9b37b1 100644 (file)
@@ -332,7 +332,7 @@ instance Bits Natural where
     rotateR = shiftR
 
     popCount (NatS# w)  = popCount (W# w)
-    popCount (NatJ# bn) = popCount (Jp# bn)
+    popCount (NatJ# bn) = I# (popCountBigNat bn)
 
     zeroBits = NatS# 0##