use std::fmt;
#[derive(Debug, Clone, PartialOrd, PartialEq)]
pub enum MrmrError {
InvalidInput(String),
CalculationError(String),
NotEnoughFeatures,
SampleTooSmall(usize),
UncertaintyError(String),
FeatureScoreError(String),
}
impl fmt::Display for MrmrError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
MrmrError::InvalidInput(s) => write!(f, "Invalid input: {}", s),
MrmrError::CalculationError(s) => write!(f, "Calculation error: {}", s),
MrmrError::NotEnoughFeatures => write!(f, "Not enough features to select from."),
MrmrError::SampleTooSmall(n) => write!(
f,
"Sample size is too small. At least {} samples are required.",
n
),
MrmrError::UncertaintyError(s) => write!(f, "Uncertainty error: {}", s),
MrmrError::FeatureScoreError(s) => write!(f, "Feature score error: {}", s),
}
}
}