Trait rv::traits::DiscreteDistr [−][src]
pub trait DiscreteDistr<X>: Rv<X> + Support<X> { fn pmf(&self, x: &X) -> f64 { ... } fn ln_pmf(&self, x: &X) -> f64 { ... } }
Is a discrete probability distribution
Provided Methods
fn pmf(&self, x: &X) -> f64
Probability mass function (PMF) at x
Panics
If x
is not supported
Example
The probability of a fair coin coming up heads in 0.5
use rv::dist::Bernoulli; use rv::traits::DiscreteDistr; // Fair coin (p = 0.5) let b = Bernoulli::uniform(); assert!( (b.pmf(&true) - 0.5).abs() < 1E-12);
fn ln_pmf(&self, x: &X) -> f64
Natural logarithm of the probability mass function (PMF)
Panics
If x
is not supported
Example
The probability of a fair coin coming up heads in 0.5
use rv::dist::Bernoulli; use rv::traits::DiscreteDistr; // Fair coin (p = 0.5) let b = Bernoulli::uniform(); assert!( (b.ln_pmf(&true) - 0.5_f64.ln()).abs() < 1E-12);
Implementors
impl DiscreteDistr<bool> for Bernoulli
impl DiscreteDistr<u8> for Bernoulli
impl DiscreteDistr<u16> for Bernoulli
impl DiscreteDistr<u32> for Bernoulli
impl DiscreteDistr<u64> for Bernoulli
impl DiscreteDistr<usize> for Bernoulli
impl DiscreteDistr<i8> for Bernoulli
impl DiscreteDistr<i16> for Bernoulli
impl DiscreteDistr<i32> for Bernoulli
impl DiscreteDistr<i64> for Bernoulli
impl DiscreteDistr<isize> for Bernoulli
impl DiscreteDistr<u8> for BetaBinomial
impl DiscreteDistr<u16> for BetaBinomial
impl DiscreteDistr<u32> for BetaBinomial
impl DiscreteDistr<u64> for BetaBinomial
impl DiscreteDistr<usize> for BetaBinomial
impl DiscreteDistr<i8> for BetaBinomial
impl DiscreteDistr<i16> for BetaBinomial
impl DiscreteDistr<i32> for BetaBinomial
impl DiscreteDistr<i64> for BetaBinomial
impl DiscreteDistr<u8> for Binomial
impl DiscreteDistr<u16> for Binomial
impl DiscreteDistr<u32> for Binomial
impl DiscreteDistr<u64> for Binomial
impl DiscreteDistr<usize> for Binomial
impl DiscreteDistr<i8> for Binomial
impl DiscreteDistr<i16> for Binomial
impl DiscreteDistr<i32> for Binomial
impl DiscreteDistr<i64> for Binomial
impl<X: CategoricalDatum> DiscreteDistr<X> for Categorical
impl DiscreteDistr<u16> for Geometric
impl DiscreteDistr<u32> for Geometric
impl<X, Fx> DiscreteDistr<X> for Mixture<Fx> where
Fx: Rv<X> + DiscreteDistr<X>,impl DiscreteDistr<u16> for Poisson
impl DiscreteDistr<u32> for Poisson