variational_regression/
error.rs

1use std::error::Error;
2use std::fmt::{Display, Formatter, Debug};
3
4///
5/// Represents a regression related error
6/// 
7#[derive(Debug)]
8pub enum RegressionError {
9    CholeskyFailure,
10    ConvergenceFailure(usize),
11    InvalidDistribution(String)
12}
13
14impl Display for RegressionError {
15    fn fmt(&self, f: &mut Formatter) -> std::fmt::Result {
16        match self {
17            Self::CholeskyFailure => write!(f, "Cholesky Decomposition Failure"),
18            Self::ConvergenceFailure(iter) => write!(f, "{}", format!("Failed to converge in {} iterations", iter)),
19            Self::InvalidDistribution(msg) => write!(f, "{}", msg)
20        }
21    }
22}
23
24impl Error for RegressionError {}