quantrs2_anneal/rl_embedding_optimizer/
error.rs

1//! Error types for RL embedding optimization
2
3use crate::ising::IsingError;
4use thiserror::Error;
5
6/// Errors that can occur in RL embedding optimization
7#[derive(Error, Debug)]
8pub enum RLEmbeddingError {
9    /// Ising model error
10    #[error("Ising error: {0}")]
11    IsingError(#[from] IsingError),
12
13    /// Neural network error
14    #[error("Neural network error: {0}")]
15    NeuralNetworkError(String),
16
17    /// Training error
18    #[error("Training error: {0}")]
19    TrainingError(String),
20
21    /// Embedding error
22    #[error("Embedding error: {0}")]
23    EmbeddingError(String),
24
25    /// Configuration error
26    #[error("Configuration error: {0}")]
27    ConfigurationError(String),
28
29    /// Hardware error
30    #[error("Hardware error: {0}")]
31    HardwareError(String),
32
33    /// Optimization error
34    #[error("Optimization error: {0}")]
35    OptimizationError(String),
36}
37
38/// Result type for RL embedding operations
39pub type RLEmbeddingResult<T> = Result<T, RLEmbeddingError>;