[][src]Struct statrs::distribution::Bernoulli

pub struct Bernoulli { /* fields omitted */ }

Implements the Bernoulli distribution which is a special case of the Binomial distribution where n = 1 (referenced Here)

Examples

use statrs::distribution::{Bernoulli, Discrete};
use statrs::statistics::Mean;

let n = Bernoulli::new(0.5).unwrap();
assert_eq!(n.mean(), 0.5);
assert_eq!(n.pmf(0), 0.5);
assert_eq!(n.pmf(1), 0.5);

Methods

impl Bernoulli[src]

pub fn new(p: f64) -> Result<Bernoulli>[src]

Constructs a new bernoulli distribution with the given p probability of success.

Errors

Returns an error if p is NaN, less than 0.0 or greater than 1.0

Examples

use statrs::distribution::Bernoulli;

let mut result = Bernoulli::new(0.5);
assert!(result.is_ok());

result = Bernoulli::new(-0.5);
assert!(result.is_err());

pub fn p(&self) -> f64[src]

Returns the probability of success p of the bernoulli distribution.

Examples

use statrs::distribution::Bernoulli;

let n = Bernoulli::new(0.5).unwrap();
assert_eq!(n.p(), 0.5);

pub fn n(&self) -> u64[src]

Returns the number of trials n of the bernoulli distribution. Will always be 1.0.

Examples

use statrs::distribution::Bernoulli;

let n = Bernoulli::new(0.5).unwrap();
assert_eq!(n.n(), 1);

Trait Implementations

impl Univariate<u64, f64> for Bernoulli[src]

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

Calculates the cumulative distribution function for the bernoulli distribution at x.

Formula

This example is not tested
if x < 0 { 0 }
else if x >= 1 { 1 }
else { 1 - p }

impl Discrete<u64, f64> for Bernoulli[src]

fn pmf(&self, x: u64) -> f64[src]

Calculates the probability mass function for the bernoulli distribution at x.

Formula

This example is not tested
if x == 0 { 1 - p }
else { p }

fn ln_pmf(&self, x: u64) -> f64[src]

Calculates the log probability mass function for the bernoulli distribution at x.

Formula

This example is not tested
else if x == 0 { ln(1 - p) }
else { ln(p) }

impl Min<u64> for Bernoulli[src]

fn min(&self) -> u64[src]

Returns the minimum value in the domain of the bernoulli distribution representable by a 64- bit integer

Formula

This example is not tested
0

impl Max<u64> for Bernoulli[src]

fn max(&self) -> u64[src]

Returns the maximum value in the domain of the bernoulli distribution representable by a 64- bit integer

Formula

This example is not tested
1

impl Mean<f64> for Bernoulli[src]

fn mean(&self) -> f64[src]

Returns the mean of the bernoulli distribution

Formula

This example is not tested
p

impl Variance<f64> for Bernoulli[src]

fn variance(&self) -> f64[src]

Returns the variance of the bernoulli distribution

Formula

This example is not tested
p * (1 - p)

fn std_dev(&self) -> f64[src]

Returns the standard deviation of the bernoulli distribution

Formula

This example is not tested
sqrt(p * (1 - p))

impl Entropy<f64> for Bernoulli[src]

fn entropy(&self) -> f64[src]

Returns the entropy of the bernoulli distribution

Formula

This example is not tested
q = (1 - p)
-q * ln(q) - p * ln(p)

impl Skewness<f64> for Bernoulli[src]

fn skewness(&self) -> f64[src]

Returns the skewness of the bernoulli distribution

Formula

This example is not tested
q = (1 - p)
(1 - 2p) / sqrt(p * q)

impl Median<f64> for Bernoulli[src]

fn median(&self) -> f64[src]

Returns the median of the bernoulli distribution

Formula

This example is not tested
if p < 0.5 { 0 }
else if p > 0.5 { 1 }
else { 0.5 }

impl Mode<u64> for Bernoulli[src]

fn mode(&self) -> u64[src]

Returns the mode of the bernoulli distribution

Formula

This example is not tested
if p < 0.5 { 0 }
else { 1 }

impl Copy for Bernoulli[src]

impl PartialEq<Bernoulli> for Bernoulli[src]

impl Clone for Bernoulli[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Bernoulli[src]

impl Distribution<f64> for Bernoulli[src]

fn sample_iter<R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
    R: Rng
[src]

Create an iterator that generates random values of T, using rng as the source of randomness. Read more

Auto Trait Implementations

impl Send for Bernoulli

impl Sync for Bernoulli

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]