Skip to main content

oxirs_stream/quantum_processing/
error_correction.rs

1//! Quantum error correction
2
3use super::{ErrorCorrectionCode, QuantumConfig};
4
5/// Quantum error correction system
6pub struct QuantumErrorCorrection {
7    config: QuantumConfig,
8    correction_codes: Vec<ErrorCorrectionCode>,
9}
10
11impl QuantumErrorCorrection {
12    pub fn new(config: QuantumConfig) -> Self {
13        Self {
14            config: config.clone(),
15            correction_codes: vec![config.error_correction_code],
16        }
17    }
18}
19
20/// Error correction metrics
21#[derive(Debug, Default)]
22pub struct ErrorCorrectionMetrics {
23    pub error_rate: f64,
24    pub correction_success_rate: f64,
25    pub syndrome_detection_time_us: f64,
26    pub correction_latency_us: f64,
27}