Skip to main content

uncertain_numerics/
measure_error.rs

1use core::fmt;
2
3/// Errors raised while constructing probability measures.
4#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5pub enum MeasureError {
6    /// The measure mean is not finite.
7    NonFiniteMean,
8    /// The measure variance is not finite.
9    NonFiniteVariance,
10    /// The measure variance is zero or negative.
11    NonPositiveVariance,
12}
13
14impl fmt::Display for MeasureError {
15    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16        match self {
17            Self::NonFiniteMean => write!(f, "measure mean must be finite"),
18            Self::NonFiniteVariance => write!(f, "measure variance must be finite"),
19            Self::NonPositiveVariance => write!(f, "measure variance must be strictly positive"),
20        }
21    }
22}
23
24impl std::error::Error for MeasureError {}