1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, GpError>;
5
6#[derive(Error, Debug)]
8pub enum GpError {
9 #[error("LikelihoodComputation computation error: {0}")]
11 LikelihoodComputationError(String),
12 #[cfg(feature = "blas")]
14 #[error("Linalg BLAS error: {0}")]
15 LinalgBlasError(#[from] ndarray_linalg::error::LinalgError),
16 #[error(transparent)]
17 LinalgError(#[from] linfa_linalg::LinalgError),
19 #[error("Empty cluster: {0}")]
21 EmptyCluster(String),
22 #[error("PLS error: {0}")]
24 PlsError(#[from] linfa_pls::PlsError),
25 #[error(transparent)]
27 LinfaError(#[from] linfa::error::Error),
28 #[cfg(feature = "persistent")]
30 #[error("Save error: {0}")]
31 SaveError(#[from] serde_json::Error),
32 #[error("Load IO error")]
34 LoadIoError(#[from] std::io::Error),
35 #[error("Load error: {0}")]
37 LoadError(String),
38 #[error("InvalidValue error: {0}")]
40 InvalidValueError(String),
41}