| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
DataFrame.Internal.Hash
Description
Documentation
Sentinel mixed in for a null slot, so Nothing does not hash the same as
a present value with equal bits (e.g. Just 0). A fixed distinctive constant
keeps null hashing deterministic; a real value equal to it collides only rarely.
mixInt :: Int -> Int -> Int Source #
Mix an Int into the accumulator with an FxHash-style step. The rotate
diffuses each value's bits before the next is folded in, avoiding the structured
collisions a plain xor-then-multiply produces on small/adjacent group keys.
mixDouble :: Int -> Double -> Int Source #
Mix a Double into the accumulator. Loses sub-millisecond precision
but matches the bucketing the old hashable-based code used.