quantrs2_sim/api/
prelude.rs

1//! Organized prelude modules for simulation functionality
2
3pub mod essentials {
4    //! Essential types for basic quantum simulation
5    //!
6    //! Core types needed for quantum circuit simulation
7
8    // Basic simulators
9    pub use crate::api::simulation::{Result, SimulatorError};
10    pub use crate::api::simulation::{Simulator, SimulatorResult, StateVectorSimulator};
11
12    // Core optimization
13    pub use crate::api::optimization::{optimize_circuit, CircuitOptimizer};
14
15    // Basic noise models
16    pub use crate::api::noise::{NoiseChannel, NoiseModel};
17}
18
19pub mod simulation {
20    //! Complete toolkit for simulation development
21    //!
22    //! Everything needed for advanced quantum simulation
23
24    pub use super::essentials::*;
25
26    // All simulation backends
27    pub use crate::api::simulation::*;
28    pub use crate::api::specialized::*;
29
30    // Performance optimization
31    pub use crate::api::optimization::*;
32    pub use crate::api::profiling::*;
33
34    // Memory management
35    pub use crate::api::memory::*;
36}
37
38pub mod gpu {
39    //! GPU and high-performance computing
40    //!
41    //! GPU and accelerated simulation backends
42
43    pub use super::essentials::*;
44
45    // GPU backends
46    pub use crate::api::gpu::*;
47
48    // SIMD operations
49    pub use crate::api::simd::*;
50
51    // High-performance optimizations
52    pub use crate::api::optimization::*;
53}
54
55pub mod distributed {
56    //! Large-scale and distributed simulation
57    //!
58    //! Tools for large-scale distributed quantum simulation
59
60    pub use super::simulation::*;
61
62    // Distributed simulation
63    pub use crate::api::distributed::*;
64
65    // Tensor networks
66    pub use crate::api::tensor_networks::*;
67}
68
69pub mod algorithms {
70    //! Algorithm development and research
71    //!
72    //! Advanced quantum algorithms and applications
73
74    pub use super::simulation::*;
75
76    // Quantum algorithms
77    pub use crate::api::algorithms::*;
78
79    // Machine learning
80    pub use crate::api::quantum_ml::*;
81
82    // Specialized methods
83    pub use crate::api::specialized::*;
84}
85
86pub mod noise_modeling {
87    //! Noise modeling and error correction
88    //!
89    //! Comprehensive noise modeling and error correction
90
91    pub use super::essentials::*;
92
93    // Noise models
94    pub use crate::api::noise::*;
95
96    // Error correction
97    pub use crate::api::error_correction::*;
98}
99
100pub mod dev_tools {
101    //! Developer tools and debugging
102    //!
103    //! Tools for simulation debugging and development
104
105    pub use super::essentials::*;
106
107    // Debugging tools
108    pub use crate::api::dev_tools::*;
109
110    // Profiling and analysis
111    pub use crate::api::profiling::*;
112
113    // SciRS2 enhanced tools
114    pub use crate::api::scirs2::*;
115}
116
117#[deprecated(
118    since = "1.0.0",
119    note = "Use organized modules like `essentials`, `simulation`, etc."
120)]
121pub mod legacy {
122    //! Legacy compatibility - provides the old flat API
123    //!
124    //! Backward compatibility exports
125
126    pub use crate::api::algorithms::*;
127    pub use crate::api::dev_tools::*;
128    pub use crate::api::distributed::*;
129    pub use crate::api::dynamic::*;
130    pub use crate::api::error_correction::*;
131    pub use crate::api::gates::*;
132    pub use crate::api::gpu::*;
133    pub use crate::api::measurement::*;
134    pub use crate::api::memory::*;
135    pub use crate::api::noise::*;
136    pub use crate::api::optimization::*;
137    pub use crate::api::precision::*;
138    pub use crate::api::profiling::*;
139    pub use crate::api::quantum_ml::*;
140    pub use crate::api::scirs2::*;
141    pub use crate::api::simd::*;
142    pub use crate::api::simulation::*;
143    pub use crate::api::specialized::*;
144    pub use crate::api::tensor_networks::*;
145    pub use crate::api::utils::*;
146}
147
148pub mod full {
149    //! Full API re-export (non-deprecated flat access)
150    //!
151    //! Complete API access with new naming conventions
152
153    pub use crate::api::algorithms::*;
154    pub use crate::api::dev_tools::*;
155    pub use crate::api::distributed::*;
156    pub use crate::api::dynamic::*;
157    pub use crate::api::error_correction::*;
158    pub use crate::api::gates::*;
159    pub use crate::api::gpu::*;
160    pub use crate::api::measurement::*;
161    pub use crate::api::memory::*;
162    pub use crate::api::noise::*;
163    pub use crate::api::optimization::*;
164    pub use crate::api::precision::*;
165    pub use crate::api::profiling::*;
166    pub use crate::api::quantum_ml::*;
167    pub use crate::api::scirs2::*;
168    pub use crate::api::simd::*;
169    pub use crate::api::simulation::*;
170    pub use crate::api::specialized::*;
171    pub use crate::api::tensor_networks::*;
172    pub use crate::api::utils::*;
173}