+1. I use this operation very heavily in geometric algebra.

On Wed, Aug 17, 2011 at 12:37 PM, Johan Tibell <johan.tibell@gmail.com> wrote:
Hi!

Now when we have a fast popCnt# primop* it would be nice to expose it
to the world through an official API. I propose we add this method to
the Bits class in Data.Bits:

   -- | Return the number of set bits in the argument, know as the
   -- population count or the Hamming weight.
   popCount :: a -> Int

I will provide a default implementation, which means that this change
won't break any existing user defined instances. All the instances for
the basic types (Ints, Words, etc) will use the primops.

* These primops compile to a single POPCNT instruction if the user
compile using -msse4.2 and a fast lookup table based implementation
otherwise.

Discussion period: 2 weeks

Cheers,
Johan

_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries