Safe Haskell | None |
---|
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
- 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 nSource
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 nSource
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 nSource
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 aSource
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]