- haddock-interface-38
- sgml-base (>= 1.28)
Unboxed multidimensional bit packed Bool arrays with fast aggregate
operations based on lifting Bool operations to bitwise operations.
.
There are many other bit packed structures out there, but none met
all of these requirements:
.
(1) unboxed bit packed Bool array,
.
(2) multi-dimensional indexing,
.
(3) fast (de)serialization, or interoperable with foreign code,
.
(4) fast aggregate operations (fold, map, zip).
.
Quick tour of the bitwise library:
.
[Data.Bits.Bitwise] Lift boolean operations on 'Bool' to bitwise
operations on 'Data.Bits.Bits'.
.
[Data.Array.BitArray] Immutable bit arrays.
.
[Data.Array.BitArray.ST] Mutable bit arrays in 'Control.Monad.ST.ST'.
.
[Data.Array.BitArray.IO] Mutable bit arrays in 'IO'.
.
[Data.Array.BitArray.ByteString] (De)serialization.
.
[Codec.Image.PBM] Portable bitmap monochrome 2D image format.
.
Very rough performance benchmarks:
.
* immutable random access single bit reads:
@BitArray ix@ is about 40% slower than @UArray ix Bool@,
.
* 'Control.Monad.ST.ST' mutable random access single bit reads:
@STBitArray s ix@ is about the same as @STUArray s ix Bool@,
.
* immutable map @Bool -> Bool@:
@BitArray ix@ is about 85x faster than @UArray ix Bool@,
.
* immutable zipWith @Bool -> Bool -> Bool@:
@BitArray ix@ is about 1300x faster than @UArray ix Bool@.
.
This package provides the documentation for a library for the Haskell
programming language.
See http://www.haskell.org/ for more information on Haskell.
Installed Size: 1.4 MB
Architectures: all