use core::fmt;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RawRansError {
InvalidScaleBits {
provided: u32,
max_safe: u32,
},
InvalidParameters,
}
impl fmt::Display for RawRansError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
RawRansError::InvalidScaleBits { provided, max_safe } => {
write!(
f,
"invalid scale_bits {}: must be in [2, {}]",
provided, max_safe
)
}
RawRansError::InvalidParameters => {
write!(f, "invalid rANS parameters")
}
}
}
}
#[cfg(feature = "std")]
impl std::error::Error for RawRansError {}