perfect-vector-shuffle: Library for performing vector shuffles
This package contains functions for performing in-place Fisher--Yates shuffles on mutable and immutable vectors along with some related functionality. The shuffles are uniform at random amongst all permuations.
For an example of how to use it:
module Main where
import Data.Vector
import Immutable.Shuffle
main :: IO ()
main = do {
shuffleMyVector >>= print;
cycleMyVector >>= print;
derangeMyVector >>= print;
}
myVector :: Vector Int
myVector = fromList [1..10]
shuffleMyVector :: IO (Vector Int)
shuffleMyVector = shuffleM myVector
cycleMyVector :: IO (Vector Int)
cycleMyVector = maximalCycleM myVector
derangeMyVector :: IO (Vector Int)
derangeMyVector = derangementM myVector
This gives the following:
>>> main [2,8,1,5,10,9,7,3,6,4] [6,8,4,10,9,2,5,7,3,1] [8,5,4,1,10,9,3,6,2,7] >>> main [7,9,3,5,10,6,8,1,2,4] [2,4,10,7,8,1,5,9,3,6] [4,8,5,2,7,3,9,6,10,1]
Downloads
- perfect-vector-shuffle-0.1.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
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
Candidates
| Versions [RSS] | 0.1.0, 0.1.1, 0.1.1.1, 0.1.1.2 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.9 && <4.15), MonadRandom (>=0.5.1.1 && <0.6), primitive (>=0.6.4 && <0.8), random (>=1.1 && <1.2), vector (>=0.12.0 && <0.13) [details] |
| License | BSD-3-Clause |
| Copyright | 2019 |
| Author | Callan McGill |
| Maintainer | callan.mcgill@gmail.com |
| Uploaded | by callanmcgill at 2019-07-18T17:35:13Z |
| Revised | Revision 3 made by callanmcgill at 2020-06-04T16:44:18Z |
| Category | Random, Vector |
| Home page | https://github.com/Boarders/perfect-vector-shuffle |
| Bug tracker | https://github.com/Boarders/perfect-vector-shuffle/issues |
| Source repo | head: git clone https://github.com/Boarders/perfect-vector-shuffle |
| Downloads | 1960 total (23 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] |