1use blr_core::BLRError;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
6pub enum ALError {
7 #[error("BLR fitting error: {0}")]
9 BlrError(#[from] BLRError),
10
11 #[error("Precision goal unreachable: {0}")]
13 GoalUnreachable(String),
14
15 #[error("Noise floor detected — hardware noise is the limiting factor")]
17 NoiseFloorDetected,
18
19 #[error("Maximum iterations reached without convergence")]
21 MaxIterationsReached,
22
23 #[error("No precision goal set — call set_goal() first")]
25 NoGoalSet,
26}
27
28pub type ALResult<T> = Result<T, ALError>;