bits-extras: Efficient high-level bit operations not found in Data.Bits

[ bsd3, data, library ] [ Propose Tags ] [ Report a vulnerability ]

This package contains efficient implementations of high-level bit operations missing from Data.Bits. The implementation is based on GCC builtins, which translate to specialized instructions where available.

All operations in this package can also be (less efficiently) implemented in terms of Data.Bits operations.

Issues: A GCC-provided library, libgcc_s, is dynamically linked to provide software fallbacks on architectures without instructions corresponding to specific operations. This is currently only expected to work on Linux systems, and even there can lead to issues with GHCi's custom linker. A workaround for GHCi on a linux system: ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so.

The current plan for broader support is to replace the libgcc dependency with built-in fallbacks in C or Haskell code. This needs to closely follow GCC's fall-back behaviour for each architecture. Alternative ideas would be appreciated.

Relevant Hackage tickets:

Changes:

Modules

[Index]

Flags

Automatic Flags
NameDescriptionDefault
test

Build test program.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3
Dependencies base (>=4 && <6), HUnit, QuickCheck, test-framework, test-framework-hunit, test-framework-quickcheck2 [details]
License BSD-3-Clause
Author Gabriel Wicke <[email protected]>
Maintainer Gabriel Wicke <[email protected]>
Category Data
Source repo head: hg clone http://dev.wikidev.net/hg/bits-extras/
Uploaded by GabrielWicke at 2010-09-20T18:26:23Z
Distributions
Reverse Dependencies 4 direct, 0 indirect [details]
Executables test
Downloads 4529 total (11 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]