Roaring Bitmaps in Haskell.
Haskell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Data
test
.stylish-haskell.yaml
.travis.yml
HLint.hs
LICENSE
README.md
Setup.hs
TODO.md
leonine.cabal
stack.yaml

README.md

Leonine

Build status

Leonine is an implementation of the Roaring Bitmaps data structure for efficient representation of sets of 32-bit values. For more information about leonine see the documentation or refer to the Roaring Bitmaps web-site for other implementations and publications about the data structure.

Please note: This is a work in progress and is not yet ready for use. When complete it will be released on Hackage.

Structure

The Roaring Bitmap structure divides the 32-bit keys into two 16-bit values. One, the high order bits, identifies a chunk within the map and the other, the low order bits, identifies a bit within the chunk.

There are two chunk representations:

  1. A sparse chunk contains a Word16 for each bit present in the chunk.

  2. A dense chunk contains 4096 Word16s which contains exactly one bit for every possible bit which can be present in the chunk.

The structure will convert the representation of each chunk as bits are set and cleared from the map.