random-fu-0.2.7.0: Random number generation

Safe HaskellNone
LanguageHaskell98

Data.Random.Distribution.Binomial

Synopsis

Documentation

integralBinomialCDF :: (Integral a, Real b) => a -> b -> a -> Double #

integralBinomialPDF :: (Integral a, Real b) => a -> b -> a -> Double #

The probability of getting exactly k successes in n trials is given by the probability mass function:

\[ f(k;n,p) = \Pr(X = k) = \binom n k p^k(1-p)^{n-k} \]

Note that in integralBinomialPDF the parameters of the mass function are given first and the range of the random variable distributed according to the binomial distribution is given last. That is, \(f(2;4,0.5)\) is calculated by integralBinomialPDF 4 0.5 2.

integralBinomialLogPdf :: (Integral a, Real b) => a -> b -> a -> Double #

We use the method given in "Fast and accurate computation of binomial probabilities, Loader, C", http://octave.1599824.n4.nabble.com/attachment/3829107/0/loader2000Fast.pdf

floatingBinomialCDF :: (CDF (Binomial b) Integer, RealFrac a) => a -> b -> a -> Double #

floatingBinomialPDF :: (PDF (Binomial b) Integer, RealFrac a) => a -> b -> a -> Double #

binomial :: Distribution (Binomial b) a => a -> b -> RVar a #

binomialT :: Distribution (Binomial b) a => a -> b -> RVarT m a #

data Binomial b a #

Constructors

Binomial a b 

Instances

(Real b, Distribution (Binomial b) Integer) => CDF (Binomial b) Integer # 

Methods

cdf :: Binomial b Integer -> Integer -> Double #

(Real b, Distribution (Binomial b) Int) => CDF (Binomial b) Int # 

Methods

cdf :: Binomial b Int -> Int -> Double #

(Real b, Distribution (Binomial b) Int8) => CDF (Binomial b) Int8 # 

Methods

cdf :: Binomial b Int8 -> Int8 -> Double #

(Real b, Distribution (Binomial b) Int16) => CDF (Binomial b) Int16 # 

Methods

cdf :: Binomial b Int16 -> Int16 -> Double #

(Real b, Distribution (Binomial b) Int32) => CDF (Binomial b) Int32 # 

Methods

cdf :: Binomial b Int32 -> Int32 -> Double #

(Real b, Distribution (Binomial b) Int64) => CDF (Binomial b) Int64 # 

Methods

cdf :: Binomial b Int64 -> Int64 -> Double #

(Real b, Distribution (Binomial b) Word) => CDF (Binomial b) Word # 

Methods

cdf :: Binomial b Word -> Word -> Double #

(Real b, Distribution (Binomial b) Word8) => CDF (Binomial b) Word8 # 

Methods

cdf :: Binomial b Word8 -> Word8 -> Double #

(Real b, Distribution (Binomial b) Word16) => CDF (Binomial b) Word16 # 

Methods

cdf :: Binomial b Word16 -> Word16 -> Double #

(Real b, Distribution (Binomial b) Word32) => CDF (Binomial b) Word32 # 

Methods

cdf :: Binomial b Word32 -> Word32 -> Double #

(Real b, Distribution (Binomial b) Word64) => CDF (Binomial b) Word64 # 

Methods

cdf :: Binomial b Word64 -> Word64 -> Double #

CDF (Binomial b) Integer => CDF (Binomial b) Float # 

Methods

cdf :: Binomial b Float -> Float -> Double #

CDF (Binomial b) Integer => CDF (Binomial b) Double # 

Methods

cdf :: Binomial b Double -> Double -> Double #

(Real b, Distribution (Binomial b) Integer) => PDF (Binomial b) Integer # 
(Real b, Distribution (Binomial b) Int) => PDF (Binomial b) Int # 

Methods

pdf :: Binomial b Int -> Int -> Double #

logPdf :: Binomial b Int -> Int -> Double #

(Real b, Distribution (Binomial b) Int8) => PDF (Binomial b) Int8 # 

Methods

pdf :: Binomial b Int8 -> Int8 -> Double #

logPdf :: Binomial b Int8 -> Int8 -> Double #

(Real b, Distribution (Binomial b) Int16) => PDF (Binomial b) Int16 # 
(Real b, Distribution (Binomial b) Int32) => PDF (Binomial b) Int32 # 
(Real b, Distribution (Binomial b) Int64) => PDF (Binomial b) Int64 # 
(Real b, Distribution (Binomial b) Word) => PDF (Binomial b) Word # 

Methods

pdf :: Binomial b Word -> Word -> Double #

logPdf :: Binomial b Word -> Word -> Double #

(Real b, Distribution (Binomial b) Word8) => PDF (Binomial b) Word8 # 
(Real b, Distribution (Binomial b) Word16) => PDF (Binomial b) Word16 # 
(Real b, Distribution (Binomial b) Word32) => PDF (Binomial b) Word32 # 
(Real b, Distribution (Binomial b) Word64) => PDF (Binomial b) Word64 # 
PDF (Binomial b) Integer => PDF (Binomial b) Float # 
PDF (Binomial b) Integer => PDF (Binomial b) Double # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Integer # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Int # 

Methods

rvar :: Binomial b Int -> RVar Int #

rvarT :: Binomial b Int -> RVarT n Int #

(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Int8 # 

Methods

rvar :: Binomial b Int8 -> RVar Int8 #

rvarT :: Binomial b Int8 -> RVarT n Int8 #

(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Int16 # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Int32 # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Int64 # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Word # 

Methods

rvar :: Binomial b Word -> RVar Word #

rvarT :: Binomial b Word -> RVarT n Word #

(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Word8 # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Word16 # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Word32 # 
(Floating b, Ord b, Distribution Beta b, Distribution StdUniform b) => Distribution (Binomial b) Word64 # 
Distribution (Binomial b) Integer => Distribution (Binomial b) Float # 
Distribution (Binomial b) Integer => Distribution (Binomial b) Double #