use thiserror::Error;
#[derive(Error, Debug)]
pub enum Errors {
#[error("Index Out Of Bounds, expected < {expected}, found {found} on axis {axis}")]
OutOfBounds {
expected: usize,
found: usize,
axis: usize,
},
#[error("Incorrect Size of Dimensional Index, expected {expected}, found {found}")]
InvalidIndexSize {
expected: usize,
found: usize
},
#[error("Number of Dimensions does not match Number of Strides")]
DimsNeqStrides {
dim_len: usize,
strides_len: usize
},
#[error("Input Error: {0}")]
InputError(String),
#[error("Empty Tensor")]
EmptyTensor,
}