Skip to main content

use_probability_primitives/
basic_usage.rs

1use use_probability::{Bernoulli, Probability, independent_union};
2
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}