Fast multi-dimensional unboxed bit packed Bool arrays
32.44 KB
built 2026-10-13 23:26:03 GMT
Description
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'.
Dependencies
10 totalRequires8
- ghc-Cabal-devel
- ghc-QuickCheck-devel
- ghc-array-devel
- ghc-base-devel
- ghc-bytestring-devel
- ghc-rpm-macros
- rpmlib(CompressedFileNames) <= 3.0.4-1
- rpmlib(FileDigests) <= 4.6.0-1
Provides2
- ghc-bitwise = 1.0.0.1-15.fc45
- ghc-bitwise-devel = 1.0.0.1-15.fc45
ObsoletesNo Obsoletes
ConflictsNo Conflicts
RecommendsNo Recommends
SuggestsNo Suggests
SupplementsNo Supplements
EnhancesNo Enhances
Files
3Name ![]() |
Size |
|---|---|
| bitwise-1.0.0.1.cabal | 3.04 KB |
| bitwise-1.0.0.1.tar.gz | 16.09 KB |
| ghc-bitwise.spec | 5.64 KB |
Files 1–3 of 3
Component of
buildroots that installed this RPMNo Buildroots
