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 b0, Distribution (Binomial b0) Word64) => CDF (Binomial b0) Word64 # 

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

cdf :: Binomial b0 Double -> Double -> Double #

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

Methods

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

(Real b0, Distribution (Binomial b0) Word64) => PDF (Binomial b0) Word64 # 
(Real b0, Distribution (Binomial b0) Word32) => PDF (Binomial b0) Word32 # 
(Real b0, Distribution (Binomial b0) Word16) => PDF (Binomial b0) Word16 # 
(Real b0, Distribution (Binomial b0) Word8) => PDF (Binomial b0) Word8 # 

Methods

pdf :: Binomial b0 Word8 -> Word8 -> Double #

logPdf :: Binomial b0 Word8 -> Word8 -> Double #

(Real b0, Distribution (Binomial b0) Word) => PDF (Binomial b0) Word # 

Methods

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

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

(Real b0, Distribution (Binomial b0) Int64) => PDF (Binomial b0) Int64 # 

Methods

pdf :: Binomial b0 Int64 -> Int64 -> Double #

logPdf :: Binomial b0 Int64 -> Int64 -> Double #

(Real b0, Distribution (Binomial b0) Int32) => PDF (Binomial b0) Int32 # 

Methods

pdf :: Binomial b0 Int32 -> Int32 -> Double #

logPdf :: Binomial b0 Int32 -> Int32 -> Double #

(Real b0, Distribution (Binomial b0) Int16) => PDF (Binomial b0) Int16 # 

Methods

pdf :: Binomial b0 Int16 -> Int16 -> Double #

logPdf :: Binomial b0 Int16 -> Int16 -> Double #

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

Methods

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

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

(Real b0, Distribution (Binomial b0) Int) => PDF (Binomial b0) Int # 

Methods

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

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

(Real b0, Distribution (Binomial b0) Integer) => PDF (Binomial b0) Integer # 
PDF (Binomial b0) Integer => PDF (Binomial b0) Double # 
PDF (Binomial b0) Integer => PDF (Binomial b0) Float # 

Methods

pdf :: Binomial b0 Float -> Float -> Double #

logPdf :: Binomial b0 Float -> Float -> Double #

(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Word64 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Word32 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Word16 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Word8 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Word # 

Methods

rvar :: Binomial b0 Word -> RVar Word #

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

(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Int64 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Int32 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Int16 # 
(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Int8 # 

Methods

rvar :: Binomial b0 Int8 -> RVar Int8 #

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

(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Int # 

Methods

rvar :: Binomial b0 Int -> RVar Int #

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

(Floating b0, Ord b0, Distribution Beta b0, Distribution StdUniform b0) => Distribution (Binomial b0) Integer # 
Distribution (Binomial b0) Integer => Distribution (Binomial b0) Double # 
Distribution (Binomial b0) Integer => Distribution (Binomial b0) Float #