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>;