On Fri, Sep 7, 2012 at 4:54 AM, Nicolas Trangez <nico...@incubaid.com> wrote:
> On Thu, 2012-09-06 at 12:07 -0700, Johan Tibell wrote:
>> Have a look at the popCount implementation for e.g. Int, which are
>> written in C and called through the FFI:
>>
>> https://github.com/ghc/packages-ghc-prim/blob/master/cbits/popcnt.c
>
> Out of interest: isn't this compiled into the popCnt# primop (and popcnt
> instruction on SSE4.2)?

It's the other way around the popCnt# primop is compiled into either
calls to these C functions or into the popcnt instruction, if -msse4.2
is given.

> I recently noticed Data.IntSet also contains a fairly basic "bitcount"
> implementation [1]. Is this kept as-is for a reason, instead of using
> popCount from Data.Bits?

I don't think so, except that we want to support the last 3 released
versions of GHC so we need to have a fallback if Data.Bits.popCount
isn't defined.

-- Johan

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to