packages feed

random-extras 0.2 → 0.3

raw patch · 2 files changed

+9/−9 lines, 2 files

Files

Control/Monad/Random/Extras.hs view
@@ -143,14 +143,14 @@  -- Choices --- | Select /m/ random elements from a list.+-- | A stream of random elements from a list. ----- Complexity: O(m)-choices :: (MonadRandom m) => Int -> [a] -> m [a]-choices m xs = choicesArray m (Data.Array.listArray (1, length xs) xs)+-- Complexity: O(n) base and O(1) per element+choices :: (MonadRandom m) => [a] -> m [a]+choices xs = choicesArray $ Data.Array.listArray (1, length xs) xs --- | Select /m/ random elements from an array.+-- | A stream of random elements from an array. ----- Complexity: O(m)-choicesArray :: (MonadRandom m, Arr.IArray arr a, Arr.Ix i, Random i) => Int -> arr i a -> m [a]-choicesArray m v = map (v !) `liftM` take m `liftM` getRandomRs (Arr.bounds v)+-- Complexity: O(1) per element+choicesArray :: (MonadRandom m, Arr.IArray arr a, Arr.Ix i, Random i) => arr i a -> m [a]+choicesArray v = map (v !) `liftM` getRandomRs (Arr.bounds v)
random-extras.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version:             0.2+Version:             0.3  -- A short (one-line) description of the package. Synopsis:            Additional functions for random values.