bv-little: Efficient little-endian bit vector library

[ bit-vectors, bsd3, data, library ] [ Propose Tags ]

This package contains a time- and space- efficient implementation of little-endian bit vectors. Provides implementations of applicable typeclasses and numeric conversions.

The declared cost of each operation is either worst-case or amortized.

For an implementation of big-endian bit vectors, use the bv package.


[Skip to Readme]
Versions 0.1.0.0, 0.1.1, 0.1.2
Change log changelog.md
Dependencies base (>=4.5.1 && <4.13), deepseq, hashable, integer-gmp, mono-traversable, primitive, QuickCheck, semigroups [details]
License BSD-3-Clause
Copyright (c) Alex Washburn 2018
Author Alex Washburn
Maintainer hackage@recursion.ninja
Category Data, Bit Vectors
Home page https://github.com/recursion-ninja/bv-little
Bug tracker https://github.com/recursion-ninja/bv-little/issues
Source repo head: git clone https://github.com/recursion-ninja/bv-little
Uploaded by recursion_ninja at Fri Sep 28 04:22:13 UTC 2018
Distributions LTSHaskell:0.1.2, NixOS:0.1.2, Stackage:0.1.2
Downloads 220 total (48 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for bv-little-0.1.2

[back to package description]

Efficient little-endian bit vector Haskell library

Build Status Coverage Status License FreeBSD Hackage Stackage Nightly Stackage LTS

This package contains an efficient implementation of little-endian bit vectors. It implements most applicable typeclasses and also conversions to and from signed or unsigned numbers. Care has been taken to balance the number of transitive dependencies with respect to functionality provided.

For an implementation of big-endian bit vectors, use the bv package.

Tests

The test suite ensures that all typeclass instances are "lawful" and that data-structure–specific functionality is well defined.

The TestSuite.hs file contains the specification. It can be run by invoking any of the following commands:

  • cabal new-test

  • cabal test

  • stack test

Benchmarks

The benchmarks provide an empirical check for the asymptotic complexity of data structure operations and also provide easy metrics for detecting performance regressions.

The Benchmaks.hs file contains these metrics. It can be run by invoking any of the following commands:

  • cabal new-bench

  • cabal bench

  • stack bench