[][src]Trait rv::traits::ContinuousDistr

pub trait ContinuousDistr<X>: Rv<X> + Support<X> {
    fn pdf(&self, x: &X) -> f64 { ... }
fn ln_pdf(&self, x: &X) -> f64 { ... } }

Is a continuous probability distributions

This trait uses the Rv<X> and Support<X> implementations to implement itself.

Provided methods

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

The value of the Probability Density Function (PDF) at x

Panics

If x is not in the support.

Example

Compute the Gaussian PDF, f(x)

use rv::dist::Gaussian;
use rv::traits::ContinuousDistr;

let g = Gaussian::standard();

let f_mean = g.pdf(&0.0_f64);
let f_low = g.pdf(&-1.0_f64);
let f_high = g.pdf(&1.0_f64);

assert!(f_mean > f_low);
assert!(f_mean > f_high);
assert!((f_low - f_high).abs() < 1E-12);

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

The value of the log Probability Density Function (PDF) at x

Panics

If x is not in the support.

Example

Compute the natural logarithm of the Gaussian PDF, ln(f(x))

use rv::dist::Gaussian;
use rv::traits::ContinuousDistr;

let g = Gaussian::standard();

let lnf_mean = g.ln_pdf(&0.0_f64);
let lnf_low = g.ln_pdf(&-1.0_f64);
let lnf_high = g.ln_pdf(&1.0_f64);

assert!(lnf_mean > lnf_low);
assert!(lnf_mean > lnf_high);
assert!((lnf_low - lnf_high).abs() < 1E-12);
Loading content...

Implementors

impl ContinuousDistr<f32> for Beta[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Cauchy[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for ChiSquared[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Exponential[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Gamma[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Gaussian[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Gev[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for InvGamma[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Laplace[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for LogNormal[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Pareto[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for StudentsT[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for Uniform[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f32> for VonMises[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Beta[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Cauchy[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for ChiSquared[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Exponential[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Gamma[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Gaussian[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Gev[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for InvGamma[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Laplace[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for LogNormal[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Pareto[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for StudentsT[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for Uniform[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<f64> for VonMises[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<Bernoulli> for Beta[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<Gaussian> for NormalGamma[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<MvGaussian> for NormalInvWishart[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<Vec<f64>> for SymmetricDirichlet[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<Vec<f64>> for Dirichlet[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<Matrix<f64, Dynamic, Dynamic, <DefaultAllocator as Allocator<f64, Dynamic, Dynamic>>::Buffer>> for InvWishart[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl ContinuousDistr<Matrix<f64, Dynamic, U1, VecStorage<f64, Dynamic, U1>>> for MvGaussian[src]

fn pdf(&self, x: &X) -> f64[src]

fn ln_pdf(&self, x: &X) -> f64[src]

impl<X, Fx> ContinuousDistr<X> for Mixture<Fx> where
    Fx: Rv<X> + ContinuousDistr<X> + ApiReady
[src]

Loading content...