concision_core/
error.rs

1/*
2    Appellation: error <module>
3    Contrib: @FL03
4*/
5
6/// a type alias for a [Result] with a [Error]
7pub type Result<T = ()> = core::result::Result<T, Error>;
8
9#[derive(Debug, thiserror::Error)]
10pub enum Error {
11    #[error("Dimension Error: {0}")]
12    DimensionalError(String),
13    #[error("Infinity Error")]
14    InfinityError,
15    #[error("Invalid Batch Size")]
16    InvalidBatchSize,
17    #[error("Invalid Input Shape")]
18    InvalidInputShape,
19    #[error("Invalid Output Shape")]
20    InvalidOutputShape,
21    #[error("Invalid Shape: {0}")]
22    InvalidShape(String),
23    #[error("Invalid Shape Mismatch: {0:?} != {1:?}")]
24    ShapeMismatch(Vec<usize>, Vec<usize>),
25    #[error("NaN Error")]
26    NaNError,
27    #[error(transparent)]
28    MathError(#[from] concision_math::MathematicalError),
29    #[error(transparent)]
30    PadError(#[from] crate::ops::pad::error::PadError),
31    #[error(transparent)]
32    ParamError(#[from] crate::params::error::ParamsError),
33    #[error("Training Failed")]
34    TrainingFailed(String),
35    #[error(transparent)]
36    ShapeError(#[from] ndarray::ShapeError),
37    #[cfg(feature = "anyhow")]
38    #[error(transparent)]
39    Other(#[from] anyhow::Error),
40    #[error("Unknown Error: {0}")]
41    Unknown(String),
42}