cabal-version: 2.2
category: Random, Vector
build-type: Simple
name: perfect-vector-shuffle
synopsis: Library for performing vector shuffles
version: 0.1.0
author: Callan McGill
maintainer: callan.mcgill@gmail.com
homepage: https://github.com/Boarders/perfect-vector-shuffle
bug-reports: https://github.com/Boarders/perfect-vector-shuffle/issues
copyright: 2019
license: BSD-3-Clause
description:
.
This package contains functions for performing shuffles on mutable and
immutable vectors. The shuffles are uniform at random amongst all
permuations.
.
For an example of how to use it:
.
@
module Example where
.
import Data.Vector
import Immutable.Shuffle
.
myVector :: Vector Int
myVector = fromList [1..10]
.
shuffleMyVector :: IO (Vector Int)
shuffleMyVector = shuffleM myVector
@
.
This gives the following:
.
@
> shuffleMyVector
[1,10,4,7,2,3,5,9,8,6]
> shuffleMyVector
[7,4,2,10,9,8,6,5,1,3]
@
extra-source-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/Boarders/perfect-vector-shuffle
Library
hs-source-dirs: src
ghc-options: -Wall
build-depends: base ^>= 4.12.0.0
, MonadRandom >= 0.5.1.1 && < 0.6
, primitive >= 0.6.4.0 && < 0.7
, random ^>= 1.1
, vector >= 0.12.0 && < 0.13
exposed-modules: Immutable.Shuffle
Mutable.Shuffle
other-modules:
default-language: Haskell2010
Test-Suite testsuite
type: exitcode-stdio-1.0
main-is: Test.hs
hs-source-dirs: test
ghc-options: -Wall
-Wincomplete-patterns
build-depends: perfect-vector-shuffle ^>= 0.1.0
, base ^>= 4.12.0.0
, QuickCheck ^>= 2.12.6.1
, random ^>= 1.1
, tasty >= 1.2 && < 1.3
, tasty-quickcheck ^>= 0.10
, vector >= 0.12.0 && < 0.13
, quickcheck-instances >= 0.3.19 && < 0.4
other-modules:
Immutable.Test
default-language: Haskell2010