Skip to main content

Discrete

Trait Discrete 

Source
pub trait Discrete<K, T> {
    // Required methods
    fn pmf(&self, x: K) -> T;
    fn ln_pmf(&self, x: K) -> T;
}
Expand description

The Discrete trait provides an interface for interacting with discrete statistical distributions

§Remarks

All methods provided by the Discrete trait are unchecked, meaning they can panic if in an invalid state or encountering invalid input depending on the implementing distribution.

Required Methods§

Source

fn pmf(&self, x: K) -> T

Returns the probability mass function calculated at x for a given distribution. May panic depending on the implementor.

§Examples
use statrs::distribution::{Discrete, Binomial};
use approx::assert_abs_diff_eq;

let n = Binomial::new(0.5, 10).unwrap();
assert_abs_diff_eq!(n.pmf(5), 0.24609375, epsilon = 1e-15);
Source

fn ln_pmf(&self, x: K) -> T

Returns the log of the probability mass function calculated at x for a given distribution. May panic depending on the implementor.

§Examples
use statrs::distribution::{Discrete, Binomial};
use approx::assert_abs_diff_eq;

let n = Binomial::new(0.5, 10).unwrap();
assert_abs_diff_eq!(n.ln_pmf(5), (0.24609375f64).ln(), epsilon = 1e-15);

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Discrete<i64, f64> for DiscreteUniform

Source§

impl Discrete<u64, f64> for Bernoulli

Source§

impl Discrete<u64, f64> for Binomial

Source§

impl Discrete<u64, f64> for Categorical

Available on crate feature std only.
Source§

impl Discrete<u64, f64> for Geometric

Source§

impl Discrete<u64, f64> for Hypergeometric

Source§

impl Discrete<u64, f64> for NegativeBinomial

Source§

impl Discrete<u64, f64> for Poisson

Source§

impl<D> Discrete<&Matrix<u64, D, Const<1>, <DefaultAllocator as Allocator<D>>::Buffer<u64>>, f64> for Multinomial<D>

Available on crate feature nalgebra only.