Documentation
class Monad m => MonadRandom m whereSource
RandomGen g => MonadRandom (Rand g) | |
(Monad m, RandomGen g) => MonadRandom (RandomT g m) |
uniformRandomVector :: (Random a, MonadRandom m) => Int -> m [a]Source
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
gaussianRand :: (MonadRandom m, Random a, Floating a) => m [a]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
evalRandomIO :: MonadIO m => RandomT StdGen m b -> m bSource
fromList :: MonadRandom m => [(a, Rational)] -> m aSource
fromNonWeightedList :: MonadRandom m => [b] -> m bSource
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