OrderedBits: Efficient ordered (by popcount) enumeration of bits

[ bsd3, data, library ] [ Propose Tags ]

This library provides efficient methods to enumerate all elements of a set in order of the population count. First, the empty set, then all 1-element sets, all 2-element sets, etc. Such enumerations are important for algorithms over unordered data sets. Examples include the travelling salesman problem and the closely related Hamiltonian path problem.

[Skip to Readme]


Manual Flags


build using LLVM


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


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,
Change log changelog.md
Dependencies base (>=4.7 && <4.9), bits (>=0.4 && <0.5), primitive (>=0.5 && <0.7), QuickCheck (>=2.7 && <2.9), vector (>=0.10 && <0.11), vector-algorithms (>=0.6 && <0.7) [details]
License BSD-3-Clause
Copyright Christian Hoener zu Siederdissen, 2014 - 2015
Author Christian Hoener zu Siederdissen
Maintainer choener@tbi.univie.ac.at
Category Data
Home page http://www.bioinf.uni-leipzig.de/~choener/
Source repo head: git clone git://github.com/choener/OrderedBits
Uploaded by ChristianHoener at 2015-05-07T12:50:48Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 4 direct, 33 indirect [details]
Downloads 6133 total (23 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-05-07 [all 1 reports]

Readme for OrderedBits-

[back to package description]


Build Status

The OrderedBits library provides methods to generate unboxed vectors of Ints (and others) ordered by their population count or Hamming distance to the 0 set.

Such an order is important for dynamic programming algorithms for Hamiltonian path problems and the travelling salesman problem.


Christian Hoener zu Siederdissen choener@bioinf.uni-leipzig.de http://www.bioinf.uni-leipzig.de/~choener/