scirs2_optimize/error.rs
1//! Error types for the SciRS2 optimization module
2
3use thiserror::Error;
4
5/// Optimization error type
6#[derive(Error, Debug)]
7pub enum OptimizeError {
8 /// Computation error (generic error)
9 #[error("Computation error: {0}")]
10 ComputationError(String),
11
12 /// Convergence error (algorithm did not converge)
13 #[error("Convergence error: {0}")]
14 ConvergenceError(String),
15
16 /// Value error (invalid value)
17 #[error("Value error: {0}")]
18 ValueError(String),
19
20 /// Not implemented error
21 #[error("Not implemented: {0}")]
22 NotImplementedError(String),
23}
24
25/// Result type for optimization operations
26pub type OptimizeResult<T> = Result<T, OptimizeError>;