OrderedBits: Efficient ordered (by popcount) enumeration of bits

[ benchmark, bsd3, data, library ] [ Propose Tags ]
Change log changelog.md
Dependencies base (>=4.7 && <5.0), bits (>=0.4), primitive (>=0.5), vector (>=0.10), vector‑algorithms (>=0.6) [details]
License BSD-3-Clause
Copyright Christian Hoener zu Siederdissen, 2014 - 2016
Author Christian Hoener zu Siederdissen
Maintainer choener@bioinf.uni-leipzig.de
Category Data
Home page https://github.com/choener/OrderedBits
Bug tracker https://github.com/choener/OrderedBits/issues
Source repo head: git clone git://github.com/choener/OrderedBits
Uploaded by ChristianHoener at Mon Feb 27 21:59:38 UTC 2017
Distributions NixOS:
Downloads 1630 total (24 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-27 [all 1 reports]
Hackage Matrix CI

This library provides efficient methods to enumerate all elements of a set in order of the population count, or the ordered enumerations of the elements of the powerset of a set. 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]




Maintainer's Corner

For package maintainers and hackage trustees

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. In other words, we enumerate the power set of a given input set.

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


Christian Hoener zu Siederdissen
Leipzig University, Leipzig, Germany