#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Error {
NonFinite(&'static str),
NonPositive(&'static str),
OutOfRange(&'static str),
InvertedRange(&'static str),
SignMismatch(&'static str),
}
impl core::fmt::Display for Error {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Self::NonFinite(name) => write!(f, "parameter `{name}` must be finite"),
Self::NonPositive(name) => write!(f, "parameter `{name}` must be positive"),
Self::OutOfRange(name) => write!(f, "parameter `{name}` is out of range"),
Self::InvertedRange(name) => write!(f, "range `{name}` is inverted"),
Self::SignMismatch(name) => write!(f, "parameter `{name}` has incompatible sign"),
}
}
}
impl core::error::Error for Error {}