eryon_surface/
error.rs

1/*
2    Appellation: error <module>
3    Contrib: @FL03
4*/
5
6/// a type alias for a [Result] with a [SurfaceError]
7pub(crate) type Result<T = ()> = core::result::Result<T, SurfaceError>;
8
9#[derive(Debug, thiserror::Error)]
10pub enum SurfaceError {
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("Parameter Error")]
28    ParameterError,
29    #[error("Training Failed")]
30    TrainingFailed(String),
31    #[error(transparent)]
32    CoreError(#[from] crate::core::Error),
33    #[error(transparent)]
34    MusicError(#[from] crate::nrt::MusicError),
35    #[error(transparent)]
36    ShapeError(#[from] ndarray::ShapeError),
37    #[error(transparent)]
38    Other(#[from] anyhow::Error),
39    #[error("Unknown Error: {0}")]
40    Unknown(String),
41}