pub enum AprenderError {
Show 14 variants
DimensionMismatch {
expected: String,
actual: String,
},
SingularMatrix {
det: f64,
},
ConvergenceFailure {
iterations: usize,
final_loss: f64,
},
InvalidHyperparameter {
param: String,
value: String,
constraint: String,
},
BackendUnavailable {
backend: String,
},
Io(Error),
Serialization(String),
Other(String),
FormatError {
message: String,
},
UnsupportedVersion {
found: (u8, u8),
supported: (u8, u8),
},
ChecksumMismatch {
expected: u32,
actual: u32,
},
SignatureInvalid {
reason: String,
},
DecryptionFailed {
message: String,
},
ValidationError {
message: String,
},
}Expand description
Main error type for Aprender operations.
Provides detailed context about failures including dimension mismatches, singular matrices, convergence issues, and invalid hyperparameters.
§Examples
use aprender::error::AprenderError;
let err = AprenderError::DimensionMismatch {
expected: "100x10".to_string(),
actual: "100x5".to_string(),
};
assert!(err.to_string().contains("dimension mismatch"));Variants§
DimensionMismatch
Matrix/vector dimensions don’t match for the operation.
SingularMatrix
Matrix is singular (non-invertible).
ConvergenceFailure
Optimization failed to converge within iteration limit.
InvalidHyperparameter
Invalid hyperparameter value provided.
Fields
Requested compute backend is not available.
Io(Error)
I/O error (file not found, permission denied, etc.).
Serialization(String)
Serialization/deserialization error.
Other(String)
Generic error with string message.
FormatError
Invalid or corrupt model format.
UnsupportedVersion
Unsupported format version.
ChecksumMismatch
Checksum verification failed.
SignatureInvalid
Signature verification failed.
DecryptionFailed
Decryption failed (wrong password or corrupt data).
ValidationError
Poka-yoke validation failed (APR-POKA-001 - Jidoka gate).
Implementations§
Source§impl AprenderError
impl AprenderError
Sourcepub fn dimension_mismatch(context: &str, expected: usize, actual: usize) -> Self
pub fn dimension_mismatch(context: &str, expected: usize, actual: usize) -> Self
Create a dimension mismatch error with descriptive context
Sourcepub fn index_out_of_bounds(index: usize, len: usize) -> Self
pub fn index_out_of_bounds(index: usize, len: usize) -> Self
Create an index out of bounds error
Sourcepub fn empty_input(context: &str) -> Self
pub fn empty_input(context: &str) -> Self
Create an empty input error
Trait Implementations§
Source§impl Debug for AprenderError
impl Debug for AprenderError
Source§impl Display for AprenderError
impl Display for AprenderError
Source§impl Error for AprenderError
impl Error for AprenderError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<&str> for AprenderError
impl From<&str> for AprenderError
Source§impl From<ContractError> for AprenderError
impl From<ContractError> for AprenderError
Source§fn from(err: ContractError) -> Self
fn from(err: ContractError) -> Self
Source§impl From<Error> for AprenderError
impl From<Error> for AprenderError
Source§impl From<ImportError> for AprenderError
impl From<ImportError> for AprenderError
Source§fn from(err: ImportError) -> Self
fn from(err: ImportError) -> Self
Source§impl From<String> for AprenderError
impl From<String> for AprenderError
Source§impl PartialEq<&str> for AprenderError
impl PartialEq<&str> for AprenderError
Source§impl PartialEq<AprenderError> for &str
impl PartialEq<AprenderError> for &str
Auto Trait Implementations§
impl Freeze for AprenderError
impl !RefUnwindSafe for AprenderError
impl Send for AprenderError
impl Sync for AprenderError
impl Unpin for AprenderError
impl UnsafeUnpin for AprenderError
impl !UnwindSafe for AprenderError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more