pub struct Bernoulli { /* private fields */ }Expand description
A Bernoulli distribution with a single success probability.
Implementations§
Source§impl Bernoulli
impl Bernoulli
Sourcepub const fn new(success: Probability) -> Self
pub const fn new(success: Probability) -> Self
Creates a Bernoulli model from a validated success probability.
Examples found in repository?
examples/basic_usage.rs (line 7)
3fn main() -> Result<(), use_probability::ProbabilityError> {
4 let rain = Probability::from_fraction(1, 4)?;
5 let traffic = Probability::try_new(0.5)?;
6 let either_delay = independent_union(rain, traffic);
7 let commute = Bernoulli::new(rain);
8
9 assert!((either_delay.value() - 0.625).abs() < 1.0e-12);
10 assert_eq!(commute.failure_probability(), Probability::try_new(0.75)?);
11 assert!((commute.variance() - 0.1875).abs() < 1.0e-12);
12
13 Ok(())
14}Sourcepub const fn success_probability(&self) -> Probability
pub const fn success_probability(&self) -> Probability
Returns the success probability.
Sourcepub const fn failure_probability(&self) -> Probability
pub const fn failure_probability(&self) -> Probability
Returns the failure probability.
Examples found in repository?
examples/basic_usage.rs (line 10)
3fn main() -> Result<(), use_probability::ProbabilityError> {
4 let rain = Probability::from_fraction(1, 4)?;
5 let traffic = Probability::try_new(0.5)?;
6 let either_delay = independent_union(rain, traffic);
7 let commute = Bernoulli::new(rain);
8
9 assert!((either_delay.value() - 0.625).abs() < 1.0e-12);
10 assert_eq!(commute.failure_probability(), Probability::try_new(0.75)?);
11 assert!((commute.variance() - 0.1875).abs() < 1.0e-12);
12
13 Ok(())
14}Sourcepub fn variance(&self) -> f64
pub fn variance(&self) -> f64
Returns the variance of the Bernoulli model.
Examples found in repository?
examples/basic_usage.rs (line 11)
3fn main() -> Result<(), use_probability::ProbabilityError> {
4 let rain = Probability::from_fraction(1, 4)?;
5 let traffic = Probability::try_new(0.5)?;
6 let either_delay = independent_union(rain, traffic);
7 let commute = Bernoulli::new(rain);
8
9 assert!((either_delay.value() - 0.625).abs() < 1.0e-12);
10 assert_eq!(commute.failure_probability(), Probability::try_new(0.75)?);
11 assert!((commute.variance() - 0.1875).abs() < 1.0e-12);
12
13 Ok(())
14}Sourcepub const fn pmf(&self, success: bool) -> Probability
pub const fn pmf(&self, success: bool) -> Probability
Returns the probability mass for success.
Trait Implementations§
impl Copy for Bernoulli
impl StructuralPartialEq for Bernoulli
Auto Trait Implementations§
impl Freeze for Bernoulli
impl RefUnwindSafe for Bernoulli
impl Send for Bernoulli
impl Sync for Bernoulli
impl Unpin for Bernoulli
impl UnsafeUnpin for Bernoulli
impl UnwindSafe for Bernoulli
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more