1#[cfg(not(feature = "scirs2"))]
23mod fallback_scirs2 {
24 use scirs2_core::ndarray::{Array1, Array2, ArrayView1, ArrayView2};
25
26 pub fn mean(_data: &ArrayView1<f64>) -> Result<f64, String> {
27 Ok(0.0)
28 }
29 pub fn std(_data: &ArrayView1<f64>, _ddof: i32) -> Result<f64, String> {
30 Ok(1.0)
31 }
32 pub fn corrcoef(_data: &ArrayView2<f64>) -> Result<Array2<f64>, String> {
33 Ok(Array2::eye(2))
34 }
35 pub fn pca(
36 _data: &ArrayView2<f64>,
37 _n_components: usize,
38 ) -> Result<(Array2<f64>, Array1<f64>), String> {
39 Ok((Array2::zeros((2, 2)), Array1::zeros(2)))
40 }
41
42 pub struct OptimizeResult {
43 pub x: Array1<f64>,
44 pub fun: f64,
45 pub success: bool,
46 pub nit: usize,
47 pub nfev: usize,
48 pub message: String,
49 }
50
51 pub fn minimize(
52 _func: fn(&Array1<f64>) -> f64,
53 _x0: &Array1<f64>,
54 _method: &str,
55 ) -> Result<OptimizeResult, String> {
56 Ok(OptimizeResult {
57 x: Array1::zeros(2),
58 fun: 0.0,
59 success: true,
60 nit: 0,
61 nfev: 0,
62 message: "Fallback optimization".to_string(),
63 })
64 }
65}
66
67#[cfg(not(feature = "scirs2"))]
68use fallback_scirs2::*;
69
70mod config;
72mod corrector;
73mod implementations;
74mod results;
75mod traits;
76mod types;
77
78pub mod adaptive;
80pub mod benchmarking;
81pub mod codes;
82pub mod detection;
83pub mod mitigation;
84
85pub use traits::{ErrorCorrector, QECResult, QuantumErrorCode, SyndromeDetector};
87
88pub use types::{
89 AdaptiveQECSystem, CorrectionOperation, CorrectionType, DeviceState, ErrorModel,
90 ExecutionContext, LogicalOperator, LogicalOperatorType, PauliOperator, QECPerformanceMetrics,
91 QECPerformanceTracker, StabilizerGroup, StabilizerType, SyndromePattern, SyndromeResult,
92 SyndromeType, TrendAnalysis,
93};
94
95pub use implementations::{ShorCode, SteaneCode, SurfaceCode, ToricCode};
96
97pub use config::{
98 AdaptiveThresholds, CachedOptimization, CorrectionMetrics, ErrorCorrectionCycleResult,
99 ErrorStatistics, MLModel, OptimizationResult, QECConfig, QECMLConfig, QECMonitoringConfig,
100 QECOptimizationConfig, QECStrategy, ResourceRequirements, ResourceUtilization, SpatialPattern,
101 TemporalPattern,
102};
103
104pub use corrector::QuantumErrorCorrector;
105
106pub use results::{
107 CorrectedCircuitResult, CorrectionPerformance, CorrelationAnalysisData, ErrorPatternAnalysis,
108 GateMitigationResult, HistoricalCorrelation, MitigationResult, PatternRecognitionResult,
109 PredictedPattern, ReadoutCorrectedResult, StatisticalAnalysisResult,
110 SymmetryVerificationResult, SyndromeAnalysisResult, SyndromeMeasurements, SyndromeStatistics,
111 TrendAnalysisData, VirtualDistillationResult, ZNEResult,
112};