The bitwise package

[Tags: bsd3, library]

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:


Properties

Versions0.1, 0.1.0.1, 0.1.0.2
Dependenciesarray, base (>=2 && <4.9), bytestring
LicenseBSD3
Copyright(c) 2012 Claude Heiland-Allen
AuthorClaude Heiland-Allen
Maintainerclaude@mathr.co.uk
CategoryData, Data Structures, Bit Vectors
Home pagehttp://code.mathr.co.uk/bitwise
Source repositoryhead: git clone http://code.mathr.co.uk/bitwise.git
this: git clone http://code.mathr.co.uk/bitwise.git(tag v0.1.0.2)
UploadedWed Apr 8 16:11:20 UTC 2015 by ClaudeHeilandAllen
DistributionsNixOS:0.1.0.2, Stackage:0.1.0.2
Downloads683 total (73 in last 30 days)
StatusDocs available [build log]
Last success reported on 2015-04-08 [all 1 reports]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees