Trait rv::traits::DiscreteDistr

source ·
pub trait DiscreteDistr<X>: Rv<X> + Support<X> {
    // Provided methods
    fn pmf(&self, x: &X) -> f64 { ... }
    fn ln_pmf(&self, x: &X) -> f64 { ... }
}
Expand description

Is a discrete probability distribution

Provided Methods§

source

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);
source

fn ln_pmf(&self, x: &X) -> f64

Natural logarithm of the probability mass function (PMF)

§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);

Object Safety§

This trait is not object safe.

Implementors§

source§

impl DiscreteDistr<i8> for BetaBinomial

source§

impl DiscreteDistr<i8> for Binomial

source§

impl DiscreteDistr<i8> for Skellam

source§

impl DiscreteDistr<i16> for BetaBinomial

source§

impl DiscreteDistr<i16> for Binomial

source§

impl DiscreteDistr<i16> for Skellam

source§

impl DiscreteDistr<i32> for BetaBinomial

source§

impl DiscreteDistr<i32> for Binomial

source§

impl DiscreteDistr<i32> for Skellam

source§

impl DiscreteDistr<i64> for BetaBinomial

source§

impl DiscreteDistr<i64> for Binomial

source§

impl DiscreteDistr<u8> for BetaBinomial

source§

impl DiscreteDistr<u8> for Binomial

source§

impl DiscreteDistr<u8> for NegBinomial

source§

impl DiscreteDistr<u8> for Poisson

source§

impl DiscreteDistr<u16> for BetaBinomial

source§

impl DiscreteDistr<u16> for Binomial

source§

impl DiscreteDistr<u16> for NegBinomial

source§

impl DiscreteDistr<u16> for Poisson

source§

impl DiscreteDistr<u32> for BetaBinomial

source§

impl DiscreteDistr<u32> for Binomial

source§

impl DiscreteDistr<u32> for NegBinomial

source§

impl DiscreteDistr<u32> for Poisson

source§

impl DiscreteDistr<u64> for BetaBinomial

source§

impl DiscreteDistr<u64> for Binomial

source§

impl DiscreteDistr<usize> for BetaBinomial

source§

impl DiscreteDistr<usize> for Binomial

source§

impl DiscreteDistr<usize> for Poisson

source§

impl DiscreteDistr<usize> for StickBreakingDiscrete

source§

impl<X> DiscreteDistr<X> for Geometric

source§

impl<X, Fx> DiscreteDistr<X> for Mixture<Fx>
where Fx: Rv<X> + DiscreteDistr<X>,

source§

impl<X, T> DiscreteDistr<X> for DiscreteUniform<T>
where X: Integer + From<T>, T: DuParam + SampleUniform + Into<f64>,

source§

impl<X: Booleable> DiscreteDistr<X> for Bernoulli

source§

impl<X: CategoricalDatum> DiscreteDistr<X> for Categorical