1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use std::{
    error::Error,
    fmt::{Display, Error as FmtError, Formatter},
};

#[derive(Debug)]
pub enum DistributionError {
    BadX,
    BadQuantile,
    BadProbability,
}

impl Display for DistributionError {
    fn fmt(&self, fmt: &mut Formatter) -> Result<(), FmtError> {
        match &self {
            DistributionError::BadX => write!(fmt, "x was not a valid input"),
            DistributionError::BadQuantile => write!(fmt, "q was not a valid input"),
            DistributionError::BadProbability => write!(fmt, "p was not a valid input"),
        }
    }
}

impl Error for DistributionError {}