bv-sized: a BitVector datatype that is parameterized by the vector width

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

This module defines a width-parameterized BitVector type and various associated operations that assume a 2's complement representation.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.1.1, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5
Change log changelog.md
Dependencies base (>=4.7 && <5), containers (>=0.5.11 && <0.6), lens (>=4 && <5), parameterized-utils, prettyclass (>=1.0 && <2.0), QuickCheck (>=2.11 && <2.12), random (>=1.1 && <1.2) [details]
License BSD-3-Clause
Copyright March 2018
Author Ben Selfridge
Maintainer benselfridge@galois.com
Category Bit Vectors
Home page https://github.com/benjaminselfridge/bv-sized
Uploaded by benselfridge at 2018-04-09T17:08:27Z
Distributions Arch:1.0.5, NixOS:1.0.5
Reverse Dependencies 11 direct, 7 indirect [details]
Downloads 11057 total (78 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-04-13 [all 1 reports]

Readme for bv-sized-0.3.0

[back to package description]

bv-sized

This library defines a BitVector datatype that is parameterized by the vector width.

It is especially useful in applications where the length of every individual bit vector will be known at compile time. Supports width-changing operations like truncation, signed/unsigned extension, and extraction/bit slicing.