[][src]Trait rstat::DiscreteDistribution

pub trait DiscreteDistribution: Distribution {
    fn pmf(&self, x: <Self::Support as Space>::Value) -> Probability { ... }
fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64 { ... }
fn pmf_batch(
        &self,
        xs: Vector<<Self::Support as Space>::Value>
    ) -> Vector<Probability> { ... }
fn logpmf_batch(
        &self,
        xs: Vector<<Self::Support as Space>::Value>
    ) -> Vector<f64> { ... } }

Provided methods

fn pmf(&self, x: <Self::Support as Space>::Value) -> Probability

Evaluates the probability mass function (PMF) at x.

The PMF is defined as the probability that a random variable X takes a value exactly equal to x: f(x) = P(X = x) = P({s in S : X(s) = x}). We require that all sum of probabilities over all possible outcomes sums to 1.

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64

Evaluates the log PMF at x.

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>

Evaluates the PMF element-wise for a batch xs.

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>

Evaluates the log PMF element-wise for a batch xs.

Loading content...

Implementors

impl DiscreteDistribution for Multinomial[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Bernoulli[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for BetaBinomial[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Binomial[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Categorical[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Geometric[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Poisson[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Degenerate<i64>[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

impl DiscreteDistribution for Uniform<i64>[src]

fn logpmf(&self, x: <Self::Support as Space>::Value) -> f64[src]

fn pmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<Probability>
[src]

fn logpmf_batch(
    &self,
    xs: Vector<<Self::Support as Space>::Value>
) -> Vector<f64>
[src]

Loading content...