| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Sound.SC3.Lang.Random.Monad
Description
Rand monad based sclang random number functions.
- rand :: (RandomGen g, Random n, Num n) => n -> Rand g n
- nrand :: (RandomGen g, Random n, Num n) => Int -> n -> Rand g [n]
- rand2 :: (RandomGen g, Random n, Num n) => n -> Rand g n
- nrand2 :: (RandomGen g, Random n, Num n) => Int -> n -> Rand g [n]
- rrand :: (RandomGen g, Random n, Num n) => n -> n -> Rand g n
- nrrand :: (RandomGen g, Random n, Num n) => Int -> n -> n -> Rand g [n]
- choose :: RandomGen g => [a] -> Rand g a
- wchoose :: (RandomGen g, Fractional t, Ord t, Random t) => [a] -> [t] -> Rand g a
- wchoose_N :: (RandomGen g, Fractional t, Ord t, Random t) => [a] -> [t] -> Rand g a
- nchoose :: RandomGen g => Int -> [a] -> Rand g [a]
- exprand :: (Floating n, Random n, RandomGen g) => n -> n -> Rand g n
- nexprand :: (Floating n, Random n, RandomGen g) => Int -> n -> n -> Rand g [n]
Documentation
rand :: (RandomGen g, Random n, Num n) => n -> Rand g n Source
SimpleNumber.rand is getRandomR in (0,n).
evalRand (replicateM 2 (rand (10::Int))) (mkStdGen 6) == [5,8] evalRand (rand (1::Double)) (mkStdGen 6) == 0.21915126172825694
nrand :: (RandomGen g, Random n, Num n) => Int -> n -> Rand g [n] Source
Variant of rand generating k values.
evalRand (nrand 3 10) (mkStdGen 6) == [5,8,1]
rand2 :: (RandomGen g, Random n, Num n) => n -> Rand g n Source
SimpleNumber.rand2 is getRandomR in (-n,n).
evalRand (replicateM 2 (rand2 10)) (mkStdGen 5) == [7,-6]
nrand2 :: (RandomGen g, Random n, Num n) => Int -> n -> Rand g [n] Source
Variant of rand2 generating k values.
evalRand (nrand2 3 10) (mkStdGen 5) == [7,-6,9]
rrand :: (RandomGen g, Random n, Num n) => n -> n -> Rand g n Source
SimpleNumber.rrand is curry getRandomR.
evalRand (replicateM 2 (rrand 3 9)) (mkStdGen 1) == [5,8]
nrrand :: (RandomGen g, Random n, Num n) => Int -> n -> n -> Rand g [n] Source
Variant of rrand generating k values.
evalRand (nrrand 4 3 9) (mkStdGen 1) == [5,8,9,6]
choose :: RandomGen g => [a] -> Rand g a Source
SequenceableCollection.choose selects an element at random.
evalRand (choose [3..9]) (mkStdGen 1) == 5
nchoose :: RandomGen g => Int -> [a] -> Rand g [a] Source
Variant of choose generating k values.
evalRand (nchoose 4 [3..9]) (mkStdGen 1) == [5,8,9,6]