@hackage bv-sized0.5.0
a BitVector datatype that is parameterized by the vector width
Installation
Dependencies (8)
- QuickCheck >=2.11 && <2.12
- base >=4.7 && <5
- containers >=0.5.10 && <0.6
- lens >=4 && <5
- mtl >=2 && <3
- parameterized-utils Show all…
Dependents (13)
@hackage/crucible-syntax, @hackage/bv-sized-lens, @hackage/cryptol, @hackage/copilot-verifier, @hackage/acme-everything, @hackage/crucible-llvm, Show all…
bv-sized - A Haskell library for manipulating width-parameterized bitvectors
copyright (c) Ben Selfridge, Galois Inc. 2018
This library defines a BitVector datatype that is parameterized by the vector
width.
Requirements
The following are a list of mandatory and secondary requirements for bv-sized.
Mandatory Requirements
-
Must support integer arithmetic on bitvectors of arbitrary width, assuming a two's-complement representation.
-
Must support the construction of symbolic expressions involving bitvectors, and evaluating those expressions in such a way that the "pure" bitvector expression language can be embedded in a larger expression language. (See Data.BitVector.Sized.App)
-
Declarative descriptions of bit encodings within an instruction word for the purposes of ISA definitions and the like. (See Data.BitVector.Sized.BitLayout)
Secondary Requirements
None.
Current Status
The library is relatively stable and supports all the above requirements.
Other information
- contact: benselfridge@galois.com