OrderedBits: Efficient ordered (by popcount) enumeration of bits

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


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]


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 2017-02-27T21:58:46Z




Maintainer's Corner

Package maintainers

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