Repository : ssh://darcs.haskell.org//srv/darcs/packages/base

On branch  : ghc-7.4

http://hackage.haskell.org/trac/ghc/changeset/61ace69581034fc33bb3b628d6a3b947bb262dec

>---------------------------------------------------------------

commit 61ace69581034fc33bb3b628d6a3b947bb262dec
Author: Johan Tibell <[email protected]>
Date:   Tue Feb 14 09:38:19 2012 -0800

    Fix bug in popCountDefault. Fixes #5872
    
    Also add an INLINABLE pragma so that the function can be specialized at
    the call site.
    
    Merged from commit f4cc96cd1a9d78ee250c8f26797e0b72a8008a1c

>---------------------------------------------------------------

 Data/Bits.hs |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/Data/Bits.hs b/Data/Bits.hs
index c81c96f..6639698 100644
--- a/Data/Bits.hs
+++ b/Data/Bits.hs
@@ -238,7 +238,8 @@ class (Eq a, Num a) => Bits a where
     popCount = go 0
       where
         go !c 0 = c
-        go c w = go (c+1) (w .&. w - 1)  -- clear the least significant bit set
+        go c w = go (c+1) (w .&. (w - 1))  -- clear the least significant bit 
set
+    {-# INLINABLE popCountDefault #-}
     {- This implementation is intentionally naive.  Instances are
        expected to override it with something optimized for their
        size. -}



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to