random-fu-0.2.4.0: Random number generation

Data.Random.Distribution.Bernoulli

Synopsis

# Documentation

bernoulli :: Distribution (Bernoulli b) a => b -> RVar aSource

Generate a Bernoulli variate with the given probability. For `Bool` results, `bernoulli p` will return True (p*100)% of the time and False otherwise. For numerical types, True is replaced by 1 and False by 0.

bernoulliT :: Distribution (Bernoulli b) a => b -> RVarT m aSource

Generate a Bernoulli process with the given probability. For `Bool` results, `bernoulli p` will return True (p*100)% of the time and False otherwise. For numerical types, True is replaced by 1 and False by 0.

boolBernoulli :: (Fractional a, Ord a, Distribution StdUniform a) => a -> RVarT m BoolSource

A random variable whose value is `True` the given fraction of the time and `False` the rest.

generalBernoulli :: Distribution (Bernoulli b) Bool => a -> a -> b -> RVarT m aSource

`generalBernoulli t f p` generates a random variable whose value is `t` with probability `p` and `f` with probability `1-p`.

generalBernoulliCDF :: CDF (Bernoulli b) Bool => (a -> a -> Bool) -> a -> a -> b -> a -> DoubleSource

newtype Bernoulli b a Source

Constructors

 Bernoulli b

Instances

 (Distribution (Bernoulli b) Bool, Real b) => CDF (Bernoulli b) Bool (Distribution (Bernoulli b0) Integer, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Integer (Distribution (Bernoulli b0) Int, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Int (Distribution (Bernoulli b0) Int8, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Int8 (Distribution (Bernoulli b0) Int16, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Int16 (Distribution (Bernoulli b0) Int32, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Int32 (Distribution (Bernoulli b0) Int64, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Int64 (Distribution (Bernoulli b0) Word, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Word (Distribution (Bernoulli b0) Word8, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Word8 (Distribution (Bernoulli b0) Word16, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Word16 (Distribution (Bernoulli b0) Word32, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Word32 (Distribution (Bernoulli b0) Word64, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Word64 (Distribution (Bernoulli b0) Float, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Float (Distribution (Bernoulli b0) Double, CDF (Bernoulli b0) Bool) => CDF (Bernoulli b0) Double (Fractional b, Ord b, Distribution StdUniform b) => Distribution (Bernoulli b) Bool Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Integer Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Int Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Int8 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Int16 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Int32 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Int64 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Word Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Word8 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Word16 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Word32 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Word64 Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Float Distribution (Bernoulli b0) Bool => Distribution (Bernoulli b0) Double (Distribution (Bernoulli b) (Complex a), CDF (Bernoulli b) Bool, RealFloat a) => CDF (Bernoulli b) (Complex a) (Distribution (Bernoulli b) (Ratio a), CDF (Bernoulli b) Bool, Integral a) => CDF (Bernoulli b) (Ratio a) (Distribution (Bernoulli b) Bool, RealFloat a) => Distribution (Bernoulli b) (Complex a) (Distribution (Bernoulli b) Bool, Integral a) => Distribution (Bernoulli b) (Ratio a)