JYU-Utils-0.1.1.2: Some utility functions for JYU projects

Utils.MonadRandom

Documentation

class Monad m => MonadRandom m whereSource

Methods

getRandom :: Random a => m aSource

getRandomR :: Random a => (a, a) -> m aSource

Instances

uniformRandomVectorRS :: (Random b, MonadRandom m) => [(b, b)] -> m [b]Source

gaussianVector :: (Floating b, Random b, MonadRandom m) => b -> Int -> m [b]Source

gaussianPerturbation :: (Floating c, Random c, MonadRandom m) => c -> [c] -> m [c]Source

gaussianPerturbationR :: (Floating c, Random c, MonadRandom m) => [c] -> [c] -> m [c]Source

normRand :: (Floating b, Random b, MonadRandom m) => b -> b -> m bSource

evalRandomT :: (RandomGen g, Monad m) => RandomT g m a -> g -> m aSource

runRandomT :: RandomGen s => RandomT s m a -> s -> m (a, s)Source

evalRand :: RandomGen g => Rand g a -> g -> aSource

fromList :: MonadRandom m => [(a, Rational)] -> m aSource

chooseAtRandom :: MonadRandom m => (b, b) -> m bSource

randomList :: MonadRandom m => [a] -> Int -> m [a]Source

randomRoll :: MonadRandom m => [a] -> m [a]Source

withRandomPair :: MonadRandom m => (t -> t -> m b) -> [t] -> m bSource

withRandomThree :: MonadRandom m => (t -> t -> t -> m b) -> [t] -> m bSource

withProbability :: MonadRandom m => Double -> m a -> m a -> m aSource

data Rand g a Source

Instances

data RandomGen g => RandomT g m a Source

Instances

MonadTrans (RandomT g) 
Monad m => Monad (RandomT g m) 
Functor m => Functor (RandomT g m) 
MonadIO m => MonadIO (RandomT g m) 
(Monad m, RandomGen g) => MonadRandom (RandomT g m)