permutation: A library for permutations and combinations.

[ bsd3, data-structures, library, math ] [ Propose Tags ]

This library includes data types for storing permutations and combinations. It implements pure and impure types, the latter of which can be modified in-place. The library uses aggressive inlining and MutableByteArray#s internally, so it is very efficient.

The main utility of the library is converting between the linear representation of a permutation and a sequence of swaps. This allows, for instance, applying a permutation or its inverse to an array with O(1) memory use.

Much of the interface for the library is based on the permutation and combination functions in the GNU Scientific Library (GSL).

Versions 0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4.1, 0.5.0, 0.5.0.1, 0.5.0.2, 0.5.0.3, 0.5.0.4, 0.5.0.5
Change log NEWS
Dependencies base (==4.*), ghc-prim, QuickCheck [details]
License BSD-3-Clause
Copyright (c) 2008. Patrick Perry <patperry@stanford.edu>
Author Patrick Perry
Maintainer Sophie Taylor <sophie@traumapony.org>
Revised Revision 1 made by GeorgeWilson at Mon Jun 4 06:52:41 UTC 2018
Category Data Structures, Math
Home page https://github.com/spacekitteh/permutation
Uploaded by spacekitteh at Tue Jan 20 23:55:53 UTC 2015
Distributions NixOS:0.5.0.5, openSUSE:0.5.0.5
Downloads 5674 total (65 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 2015-01-21 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees