Safe Haskell | None |
---|
RandomGen
based sclang
random number functions.
- rand :: (RandomGen g, Random n, Num n) => n -> g -> (n, g)
- kvariant :: Int -> (g -> (a, g)) -> g -> ([a], g)
- nrand :: (RandomGen g, Random n, Num n) => Int -> n -> g -> ([n], g)
- rand2 :: (RandomGen g, Random n, Num n) => n -> g -> (n, g)
- nrand2 :: (RandomGen g, Random a, Num a) => Int -> a -> g -> ([a], g)
- rrand :: (Random n, RandomGen g) => n -> n -> g -> (n, g)
- nrrand :: (RandomGen g, Random a, Num a) => Int -> a -> a -> g -> ([a], g)
- choose :: RandomGen g => [a] -> g -> (a, g)
- nchoose :: RandomGen g => Int -> [a] -> g -> ([a], g)
- exprand :: (Floating n, Random n, RandomGen g) => n -> n -> g -> (n, g)
- nexprand :: (Floating n, Random n, RandomGen g) => Int -> n -> n -> g -> ([n], g)
- coin :: (RandomGen g, Random a, Ord a, Fractional a) => a -> g -> (Bool, g)
- ncoin :: (RandomGen g, Random a, Ord a, Fractional a) => Int -> a -> g -> ([Bool], g)
- scramble :: RandomGen g => [t] -> g -> ([t], g)
- wchoose :: (RandomGen g, Random a, Ord a, Fractional a) => [b] -> [a] -> g -> (b, g)
Documentation
rand :: (RandomGen g, Random n, Num n) => n -> g -> (n, g)Source
SimpleNumber.rand
is randomR
in (0,n).
nrand :: (RandomGen g, Random n, Num n) => Int -> n -> g -> ([n], g)Source
Variant of rand
generating k values.
fst (nrand 10 (5::Int) (mkStdGen 246873)) == [0,5,4,0,4,5,3,2,3,1]
rand2 :: (RandomGen g, Random n, Num n) => n -> g -> (n, g)Source
SimpleNumber.rand2
is randomR
in (-n,n).
nrand2 :: (RandomGen g, Random a, Num a) => Int -> a -> g -> ([a], g)Source
Variant of rand2
generating k values.
nrrand :: (RandomGen g, Random a, Num a) => Int -> a -> a -> g -> ([a], g)Source
Variant of rrand
generating k values.
choose :: RandomGen g => [a] -> g -> (a, g)Source
SequenceableCollection.choose
selects an element at random.
exprand :: (Floating n, Random n, RandomGen g) => n -> n -> g -> (n, g)Source
SimpleNumber.exprand
generates exponentially distributed random
number in the given interval.
nexprand :: (Floating n, Random n, RandomGen g) => Int -> n -> n -> g -> ([n], g)Source
Variant of exprand
generating k values.
coin :: (RandomGen g, Random a, Ord a, Fractional a) => a -> g -> (Bool, g)Source
SimpleNumber.coin
is True
at given probability, which is in
range (0,1).
ncoin :: (RandomGen g, Random a, Ord a, Fractional a) => Int -> a -> g -> ([Bool], g)Source
Variant of coin
generating k values.
fst (ncoin 5 0.5 (mkStdGen 0)) == [True,True,False,True,False]