- data Rand m a
- type RandIO a = Rand IO a
- asRandIO :: RandIO a -> RandIO a
- type RandST s a = Rand (ST s) a
- asRandST :: RandST s a -> RandST s a
- data Seed
- runRand :: Rand m a -> Gen (PrimState m) -> m a
- runWithSeed :: PrimMonad m => Seed -> Rand m a -> m a
- runWithVector :: PrimMonad m => Rand m a -> Vector Word32 -> m a
- runWithSystemRandom :: PrimMonad m => Rand m a -> IO a
- toRand :: PrimMonad m => (Gen (PrimState m) -> m a) -> Rand m a
- uniform :: (PrimMonad m, Variate a) => Rand m a
- uniformR :: (PrimMonad m, Variate a) => (a, a) -> Rand m a
- standard :: PrimMonad m => Rand m Double
- normal :: PrimMonad m => Double -> Double -> Rand m Double
- save :: PrimMonad m => Rand m Seed
Random monad
Random monad for mwc-random package
runWithSeed :: PrimMonad m => Seed -> Rand m a -> m aSource
Run monad using seed
runWithVector :: PrimMonad m => Rand m a -> Vector Word32 -> m aSource
By creating seed from vector of values
runWithSystemRandom :: PrimMonad m => Rand m a -> IO aSource
Run monad using system random
Random numbers generation
uniformR :: (PrimMonad m, Variate a) => (a, a) -> Rand m aSource
Uniformly distributed values in range
standard :: PrimMonad m => Rand m DoubleSource
Normally distributed variables with mean 0 and 1 standard deviation