1#![allow(dead_code)]
2#![allow(clippy::all)]
3#![allow(unused_imports)]
4#![allow(unused_variables)]
5#![allow(unused_mut)]
6#![allow(unused_assignments)]
7#![allow(unexpected_cfgs)]
8#![allow(deprecated)]
9
10pub mod buffer_manager;
22pub mod builder;
23pub mod circuit_cache;
24pub mod classical;
25pub mod commutation;
26pub mod crosstalk;
27pub mod dag;
28pub mod debugger;
29pub mod distributed;
30pub mod equivalence;
31pub mod fault_tolerant;
32pub mod formatter;
33pub mod graph_optimizer;
34pub mod linter;
35pub mod measurement;
36pub mod ml_optimization;
37pub mod noise_models;
38pub mod optimization;
39pub mod optimizer;
40pub mod photonic;
41pub mod profiler;
42pub mod pulse;
43pub mod qasm;
44pub mod qc_co_optimization;
45pub mod resource_estimator;
46pub mod routing;
47pub mod scirs2_benchmarking;
48pub mod scirs2_cross_compilation_enhanced;
49pub mod scirs2_integration;
50pub mod scirs2_ir_tools;
51pub mod scirs2_matrices;
52pub mod scirs2_optimization;
53pub mod scirs2_pulse_control_enhanced;
54pub mod scirs2_qasm_compiler_enhanced;
55pub mod scirs2_similarity;
56pub mod scirs2_transpiler_enhanced;
57pub mod simulator_interface;
58pub mod slicing;
59pub mod synthesis;
60pub mod tensor_network;
61pub mod topological;
62pub mod topology;
63pub mod transpiler;
64pub mod validation;
65pub mod verifier;
66pub mod vqe;
67pub mod zx_calculus;
68
69pub mod prelude {
71 pub use crate::builder::{CircuitStats, *};
72 pub use crate::circuit_cache::{
74 CacheConfig, CacheEntry, CacheManager, CacheStats, CircuitCache, CircuitSignature,
75 CompiledCircuitCache, EvictionPolicy, ExecutionResultCache, SignatureGenerator,
76 TranspilationCache,
77 };
78 pub use crate::classical::{
79 CircuitOp, ClassicalBit, ClassicalCircuit, ClassicalCircuitBuilder, ClassicalCondition,
80 ClassicalOp, ClassicalRegister, ClassicalValue, ComparisonOp, ConditionalGate, MeasureOp,
81 };
82 pub use crate::commutation::{
83 CommutationAnalyzer, CommutationOptimization, CommutationResult, CommutationRules, GateType,
84 };
85 pub use crate::crosstalk::{
86 CrosstalkAnalysis, CrosstalkAnalyzer, CrosstalkModel, CrosstalkSchedule,
87 CrosstalkScheduler, SchedulingStrategy, TimeSlice,
88 };
89 pub use crate::dag::{circuit_to_dag, CircuitDag, DagEdge, DagNode, EdgeType};
90 pub use crate::debugger::{
91 AnalysisDepth, BlochVector, BottleneckType as DebuggerBottleneckType, BreakpointAction,
92 BreakpointCondition, BreakpointManager, ConditionalBreakpoint, ConnectionType,
93 ConnectionVisualization, CorrelationType, DebugError, DebuggerConfig, Difficulty,
94 ErrorAnalysisResults, ErrorCorrelation, ErrorDetectionConfig, ErrorDetector, ErrorPattern,
95 ErrorSeverity, ErrorStatistics, ErrorType as DebuggerErrorType, ExecutionHistory,
96 ExecutionState, ExecutionStatus as DebuggerExecutionStatus, ExecutionSummary,
97 ExportFormat as DebuggerExportFormat, ExportOptions as DebuggerExportOptions,
98 ExpressionResult, ExpressionType, ExpressionValue, GateAttributes, GateExecutionMetrics,
99 GateExecutionResult, GateProperties as DebuggerGateProperties, GateSnapshot,
100 GateType as DebuggerGateType, GateVisualization, HistoryEntry, HistoryStatistics,
101 ImpactAssessment, MemorySnapshot, MemoryStatistics, MemoryUsage, MetricSnapshot,
102 OptimizationSuggestion as DebuggerOptimizationSuggestion, PatternType, PerformanceAnalysis,
103 PerformanceBottleneck, PerformanceProfiler, PerformanceSample, PredictionResult,
104 Priority as DebuggerPriority, ProfilerConfig, ProfilingStatistics, QuantumDebugger,
105 RenderingQuality, RenderingStatistics, RootCause, Solution, StateBreakpoint, StatePattern,
106 StateSnapshot, StepResult, SuggestionType as DebuggerSuggestionType, TimingInfo,
107 TimingStatistics, TrendAnalysis, TrendDirection, Visualization, VisualizationConfig,
108 VisualizationData, VisualizationEngine, VisualizationMetadata, VisualizationSnapshot,
109 VisualizationType, WatchConfig, WatchExpression, WatchManager, WatchedGate, WatchedMetric,
110 WatchedState,
111 };
112 pub use crate::distributed::{
113 BackendType, DistributedExecutor, DistributedJob, DistributedResult, ExecutionBackend,
114 ExecutionParameters, ExecutionStatus, LoadBalancingStrategy, Priority, SystemHealthStatus,
115 };
116 pub use crate::equivalence::{
117 circuits_equivalent, circuits_structurally_equal, EquivalenceChecker, EquivalenceOptions,
118 EquivalenceResult, EquivalenceType,
119 };
120 pub use crate::fault_tolerant::{
121 FaultTolerantCircuit, FaultTolerantCompiler, LogicalQubit, MagicState, QECCode,
122 ResourceOverhead, SyndromeMeasurement, SyndromeType,
123 };
124 pub use crate::formatter::{
125 AlignedElement, AlignmentColumn, AlignmentConfig, AppliedStyleRule, AutoCorrectionConfig,
126 ChangeType, CircuitDefinition, CodeSection, CodeStructure, ColumnType, CommentAlignment,
127 CommentConfig, ComplianceLevel as FormatterComplianceLevel, ConsistencyMetrics,
128 CustomStyleRule, DataFlowEdge, DependencyAnalysisResults, DependencyType, DetectedPattern,
129 FormattedCircuit, FormatterConfig, FormattingChange, FormattingMetadata, FormattingResult,
130 FormattingStatistics, FormattingWarning, FunctionDefinition, GateDependency, GateOperation,
131 GraphAnalysisResults, GroupingStrategy, ImportStatement, ImportType, IndentationConfig,
132 IndentationStyle, InputStatistics, LayoutInformation, LayoutOptimization, LayoutSuggestion,
133 MeasurementOperation, OptimizationConfig as FormatterOptimizationConfig,
134 OptimizationLevel as FormatterOptimizationLevel, OptimizationResults, OrderingConstraint,
135 OrganizationConfig, ParallelizationOpportunity, Parameter as FormatterParameter,
136 PatternAnalysisResults, PatternFormattingSuggestion, PerformanceOptimization,
137 QuantumFormatter, ReadabilityImprovement, RulePriority, SciRS2AnalysisConfig,
138 SciRS2FormattingAnalysis, SciRS2OptimizationSuggestion, SectionType, SpacingConfig,
139 SpacingStyle, StyleCompliance, StyleEnforcementConfig, StyleInformation,
140 StyleStrictness as FormatterStyleStrictness, StyleViolationFix, VariableDeclaration,
141 WarningSeverity, WarningType as FormatterWarningType, WrappingPoint, WrappingType,
142 };
143 pub use crate::graph_optimizer::{CircuitDAG, GraphGate, GraphOptimizer, OptimizationStats};
144 pub use crate::linter::{
145 AnalysisScope, AntiPatternDetectionResult, AntiPatternDetector, AutoFix, AutoFixType,
146 BarrierUsageStyle, BestPracticeResult, BestPracticeRule, BestPracticeViolation,
147 BestPracticesChecker, BestPracticesCompliance, CircuitLocation, ComplexityAnalysisResult,
148 ComplexityAnalyzer, ComplexityClassification, ComplexityMetric,
149 ComplexityMetrics as LinterComplexityMetrics, ComplexityTrend, ComplianceLevel,
150 ConnectivityPattern, ConstraintType as LinterConstraintType, CustomGuideline,
151 Difficulty as LinterDifficulty, GateGroupingStyle, Importance,
152 IndentationStyle as LinterIndentationStyle, InteractionType, IssueType, LintIssue,
153 LinterConfig, LintingMetadata, LintingResult, LintingStatistics, MeasurementPlacementStyle,
154 NamingConvention, OptimizationAnalysisResult, OptimizationAnalyzer,
155 OptimizationImprovement as LinterOptimizationImprovement, OptimizationRule,
156 OptimizationSuggestion as LinterOptimizationSuggestion, OptimizationType,
157 ParameterConstraint, PatternAnalysisResult, PatternDetectionResult, PatternDetector,
158 PatternFlexibility, PatternInteraction, PatternMatcher, PatternPerformanceProfile,
159 PatternStatistics, PerformanceImpact, PerformanceMetrics as LinterPerformanceMetrics,
160 PerformanceProjection, PracticeGuidelines, QuantumAntiPattern, QuantumLinter,
161 QuantumPattern, QubitOrderingStyle, Risk, SafetyLevel,
162 ScalingBehavior as LinterScalingBehavior, Severity, SimplificationSuggestion,
163 SimplificationType, StyleAnalysisResult, StyleCheckResult, StyleChecker, StyleConfig,
164 StyleRule, StyleStrictness, StyleViolation, TrendDirection as LinterTrendDirection,
165 };
166 pub use crate::measurement::{
167 CircuitOp as MeasurementCircuitOp, FeedForward, Measurement, MeasurementCircuit,
168 MeasurementCircuitBuilder, MeasurementDependencies,
169 };
170 pub use crate::ml_optimization::{
171 AcquisitionFunction, FeatureExtractor, ImprovementMetrics, MLCircuitOptimizer,
172 MLCircuitRepresentation, MLOptimizationResult, MLStrategy, TrainingExample,
173 };
174 pub use crate::noise_models::{
175 DecoherenceParams, ErrorSource, LeakageError, NoiseAnalysisResult, NoiseAnalyzer,
176 ReadoutError, SingleQubitError, ThermalNoise, TwoQubitError,
177 };
178 pub use crate::optimization::{
179 AbstractCostModel, CircuitAnalyzer, CircuitOptimizer2, CircuitRewriting,
180 CoherenceOptimization, CommutationTable, CostBasedOptimization, CostModel,
181 DecompositionOptimization, DecouplingSequence, DynamicalDecoupling, GateCancellation,
182 GateCommutation, GateCost, GateError, GateMerging, GateProperties, HardwareCostModel,
183 NoiseAwareCostModel, NoiseAwareMapping, NoiseAwareOptimizer, NoiseModel, OptimizationLevel,
184 OptimizationPass, OptimizationReport, PassConfig, PassManager, RotationMerging,
185 TemplateMatching, TwoQubitOptimization,
186 };
187 pub use crate::optimizer::{
188 CircuitOptimizer, HardwareOptimizer, OptimizationPassType, OptimizationResult,
189 RedundantGateElimination, SingleQubitGateFusion,
190 };
191 pub use crate::photonic::{
192 CVCircuit, CVGate, CVMeasurement, PhotonicCircuit, PhotonicCircuitBuilder,
193 PhotonicConverter, PhotonicGate, PhotonicMeasurement, PhotonicMode, Polarization,
194 PolarizationBasis,
195 };
196 pub use crate::profiler::{
197 AccuracyMeasurement, AccuracyTracking, AggregationFunction, AggregationRule, Alert,
198 AlertChannel, AlertChannelType, AlertCondition, AlertLevel, AlertRule, AlertSystem,
199 AllocationEvent, AllocationEventType, AllocationInfo, AllocationStatistics,
200 AllocationTracker, AllocationType, AnalysisConfig, AnalysisDepth as ProfilerAnalysisDepth,
201 AnalyticsConfig, AnomalyAlgorithmType, AnomalyDetectionAlgorithm, AnomalyDetectionConfig,
202 AnomalyDetector, AnomalyType, AnomySeverity, ArchivalPolicy, BackupConfig, BaselineManager,
203 BaselineUpdatePolicy, BaselineValidationResults,
204 BenchmarkConfig as ProfilerBenchmarkConfig, BenchmarkEngine, BenchmarkResult,
205 BenchmarkSuite, BenchmarkSuiteConfig, BenchmarkTest, BenchmarkTestType,
206 BottleneckAnalysis as ProfilerBottleneckAnalysis, BottleneckImpactAnalysis,
207 BottleneckSeverity, CacheMissRates, CascadingEffect, ChecksumAlgorithm, ComparisonOperator,
208 ComparisonResults, ComparisonSummary, CompressionAlgorithm, CompressionSettings,
209 ConnectionStatistics, CostBenefitAnalysis, CpuOptimization, CpuOptimizationType,
210 CpuProfilingData, CpuState, DataRetentionPolicy, DetailedAnalysis, EnvironmentInfo,
211 ErrorAnalysis, ErrorCharacteristics, ErrorDistribution,
212 ErrorPattern as ProfilerErrorPattern, ErrorSeverity as ProfilerErrorSeverity,
213 ExportFormat as ProfilerExportFormat, GateProfile, GateProfiler, GpuInfo, GpuOptimization,
214 GpuOptimizationType, GpuProfilingData, HardwareConfig, HistoricalPerformanceData,
215 InsightType, IntegrityChecks, IoOptimization, IoOptimizationType, IoProfilingData, IoState,
216 LatencyDistribution, LeakAnalysisResults, LeakDetector, LeakSeverity, LogicalOperator,
217 MemoryLeak, MemoryOptimization as ProfilerMemoryOptimization, MemoryOptimizationType,
218 MemoryPattern, MemoryProfiler, MemorySnapshot as ProfilerMemorySnapshot, MemoryState,
219 MemoryTransferTimes, MetricCategory, MetricStream, MetricsCollector,
220 MitigationStrategy as ProfilerMitigationStrategy, MitigationStrategyType, MlModel,
221 NetworkOptimization, NetworkOptimizationType, NetworkProfilingData, NetworkState,
222 PerformanceAnalyzer, PerformanceAnomaly, PerformanceBaseline,
223 PerformanceInsight as ProfilerPerformanceInsight, PerformanceMetric, PerformanceRegression,
224 PerformanceSnapshot, PerformanceSummary, PrecisionLevel, PredictionConfig,
225 PredictionEngine, PredictionModel as ProfilerPredictionModel, PredictionModelType,
226 PredictionResult as ProfilerPredictionResult, ProfilerConfig as ProfilerConfiguration,
227 ProfilingReport, ProfilingSession, QuantumProfiler, RealtimeMetrics, RecoveryStatistics,
228 RegressionAlgorithmType, RegressionAnalysisResults, RegressionDetectionAlgorithm,
229 RegressionDetectionConfig, RegressionDetector, RegressionSeverity, ResourceBottleneck,
230 ResourceBottleneckType, ResourceProfiler,
231 ResourceRequirements as ProfilerResourceRequirements, ResourceUtilization,
232 SerializationConfig, SerializationFormat, SessionAnalytics, SessionConfig, SessionData,
233 SessionManager, SessionStatistics, SessionStatus, SessionStorage, SessionTrendAnalysis,
234 SeverityLevel, StatisticalMethod, StorageBackend, StorageConfig, StorageInfo, StorageType,
235 StreamStatistics, SuppressionCondition, SuppressionRule, SystemState, TestResult,
236 ThroughputStatistics, TimingStatistics as ProfilerTimingStatistics, TrainingStatus,
237 TrendAnalysisResults, ValidationStatus,
238 };
239 pub use crate::pulse::{
240 Channel, DeviceConfig, PulseCalibration, PulseCompiler, PulseInstruction, PulseOptimizer,
241 PulseSchedule, Waveform,
242 };
243 pub use crate::qasm::exporter::ExportError;
244 pub use crate::qasm::{
245 export_qasm3, parse_qasm3, validate_qasm3, ExportOptions, ParseError, QasmExporter,
246 QasmGate, QasmParser, QasmProgram, QasmRegister, QasmStatement, ValidationError,
247 };
248 pub use crate::qc_co_optimization::{
249 ClassicalProcessingStep, ClassicalStepType, DataFlowGraph, DataType,
250 HybridOptimizationAlgorithm, HybridOptimizationProblem, HybridOptimizationResult,
251 HybridOptimizer, LearningRateSchedule, ObjectiveFunction as HybridObjectiveFunction,
252 ObjectiveFunctionType, ParameterizedQuantumComponent, RegularizationType,
253 };
254 pub use crate::resource_estimator::{
255 AlgorithmClass, CircuitMetrics as ResourceCircuitMetrics, ComplexityAnalysis,
256 ComplexityClass, ExecutionTimeEstimate, HardwareRequirements, MemoryRequirements,
257 OptimizationSuggestion as ResourceOptimizationSuggestion, PlatformRecommendation,
258 ResourceEstimate, ScalabilityAnalysis, ScalingBehavior, ScalingFunction,
259 };
260 pub use crate::routing::{
261 CircuitRouter, CouplingMap, Distance, LookaheadConfig, LookaheadRouter, RoutedCircuit,
262 RoutingPassType, RoutingResult, RoutingStatistics, RoutingStrategy, SabreConfig,
263 SabreRouter, SwapLayer, SwapNetwork,
264 };
265 pub use crate::scirs2_benchmarking::{
266 BaselineComparison, BenchmarkConfig, BenchmarkReport, BenchmarkRun, CircuitBenchmark,
267 CircuitMetrics as BenchmarkCircuitMetrics, DescriptiveStats, Distribution, DistributionFit,
268 HypothesisTestResult, InsightCategory, OutlierAnalysis, OutlierDetectionMethod,
269 PerformanceInsight, PracticalSignificance, RegressionAnalysis, StatisticalAnalyzer,
270 StatisticalTest,
271 };
272 pub use crate::scirs2_cross_compilation_enhanced::{
273 AppliedOptimization, BatchCompilationReport, BatchCompilationResult, BatchPerformanceStats,
274 CircuitMetrics, CircuitSize, CircuitVisualization, ClassicalOpType, ClassicalOperation,
275 CodeFormat, ComparisonVisualization, CompilationComplexity, CompilationRecommendation,
276 CompilationReport, CompilationStage, CompilationStrategy, CompilationSummary,
277 CrossCompilationConfig, CrossCompilationResult, DataFlow, Difference, DifferenceType,
278 EnhancedCrossCompilationConfig, EnhancedCrossCompiler, FailedCompilation, FlowEdge,
279 FlowNode, GraphLayout, IRClassicalOp, IRClassicalOpType, IREdge, IRGate, IRGraph, IRNode,
280 IROperation, IROperationType, IRVisualization, NodeType, OperationType, OptimizationImpact,
281 OptimizationImprovement, OptimizationTimeline, OptimizationVisualization, ParsedCircuit,
282 QuantumFramework, QuantumIR, QuantumOperation,
283 RecommendationCategory as CompilationRecommendationCategory, ResourceUsage, SourceCircuit,
284 StageAnalysis, StageImpact, StagePerformance, TargetCode, TargetPlatform, TimelineEvent,
285 ValidationError as CrossValidationError, ValidationErrorType,
286 ValidationResult as CrossValidationResult, ValidationWarning as CrossValidationWarning,
287 ValidationWarningType, VisualCompilationFlow,
288 };
289 pub use crate::scirs2_integration::{
290 AnalysisResult, AnalyzerConfig, GraphMetrics, GraphMotif, OptimizationSuggestion,
291 SciRS2CircuitAnalyzer, SciRS2CircuitGraph, SciRS2Edge, SciRS2Node, SciRS2NodeType,
292 };
293 pub use crate::scirs2_matrices::{
294 CircuitToSparseMatrix, Complex64, SparseFormat, SparseGate, SparseGateLibrary,
295 SparseMatrix, SparseOptimizer,
296 };
297 pub use crate::scirs2_optimization::{
298 CircuitTemplate, EarlyStoppingCriteria, KernelType, ObjectiveFunction,
299 OptimizationAlgorithm, OptimizationConfig, OptimizationHistory, Parameter,
300 ParameterizedGate, QAOAObjective, QuantumCircuitOptimizer, VQEObjective,
301 };
302 pub use crate::scirs2_pulse_control_enhanced::{
303 AWGSpecifications, AmplitudeNoiseSpec, CalibrationAnalysis, CalibrationData,
304 CalibrationMeasurement, CalibrationParameters, CalibrationResult, ChannelPlot,
305 ControlRequirements, ControlType, CosinePulse, CustomPulseShape, DRAGPulse, DriftAnalysis,
306 EnhancedPulseConfig, EnhancedPulseController, EnvironmentalData, ErfPulse, ErrorMetrics,
307 FilterType, FrequencyPlot, GateAnalysis, GateType as PulseGateType, GaussianPulse,
308 HardwareConstraints, IQMixerSpecifications, MitigationStrategy, OptimizationFeedback,
309 ParameterUpdate, PerformanceTargets, PhaseNoiseSpec, PhasePlot, PulseChannel,
310 PulseConstraints, PulseControlConfig, PulseExportFormat, PulseLibrary, PulseMetadata,
311 PulseOptimizationModel, PulseOptimizationObjective, PulseSequence, PulseShape,
312 PulseVisualization, QualityMetrics, SechPulse, SignalProcessingConfig,
313 Waveform as EnhancedWaveform, WindowType,
314 };
315 pub use crate::scirs2_qasm_compiler_enhanced::{
316 ASTNode, ASTStatistics, AnalysisOptions, BinaryOp, CompilationResult,
317 CompilationStatistics, CompilationTarget, CompilationVisualizations, CompilationWarning,
318 EnhancedQASMCompiler, EnhancedQASMConfig, ErrorType, ExportFormat, Expression,
319 GateDefinition, GeneratedCode, Location, OptimizedQASM, ParsedQASM, QASMCompilerConfig,
320 QASMVersion, Token, TokenType, TypeCheckingLevel, UnaryOp, ValidationResult,
321 ValidationWarning, WarningType, AST,
322 };
323 pub use crate::scirs2_similarity::{
324 BatchSimilarityComputer, CircuitDistanceMetrics, CircuitFeatures,
325 CircuitSimilarityAnalyzer, CircuitSimilarityMetrics, EntanglementStructure,
326 GraphKernelType, GraphSimilarityAlgorithm, MLModelType, SciRS2Graph, SimilarityAlgorithm,
327 SimilarityConfig, SimilarityWeights,
328 };
329 pub use crate::scirs2_transpiler_enhanced::{
330 AdvancedHardwareFeatures, Bottleneck, BottleneckType, CircuitAnalysis,
331 CircuitFeatures as EnhancedCircuitFeatures, CompatibilityReport, DecomposedGate,
332 DecompositionResult, DecompositionStrategy, EnhancedTranspiler, EnhancedTranspilerConfig,
333 ErrorMitigationSupport, GateDecomposition, GateStatistics, HardwareBackend, ImpactLevel,
334 MitigationResult, NativeGateSet as EnhancedNativeGateSet, ParallelismAnalysis, PassResult,
335 PerformanceConstraints, PerformanceMetrics, PerformancePrediction, PredictionModel,
336 RoutingFeedback, RoutingModel, SuggestionType, SwapGate, TopologyAnalysis, TopologyType,
337 TranspilationPass, TranspilationResult as EnhancedTranspilationResult,
338 VisualRepresentation,
339 };
340 pub use crate::simulator_interface::{
341 CircuitCompiler, CompiledCircuit, ContractionStrategy, ExecutionResult, InstructionSet,
342 MemoryOptimization, OptimizationLevel as SimulatorOptimizationLevel, ResourceRequirements,
343 SimulatorBackend, SimulatorExecutor,
344 };
345 pub use crate::slicing::{CircuitSlice, CircuitSlicer, SlicingResult, SlicingStrategy};
346 pub use crate::synthesis::{
347 GateSet, MultiQubitSynthesizer, SingleQubitSynthesizer, SynthesisConfig,
348 TwoQubitSynthesizer, UnitaryOperation, UnitarySynthesizer,
349 };
350 pub use crate::tensor_network::{
351 CircuitToTensorNetwork, CompressedCircuit, CompressionMethod, MatrixProductState, Tensor,
352 TensorNetwork, TensorNetworkCompressor,
353 };
354 pub use crate::topological::{
355 Anyon, AnyonModel, AnyonType, BraidingOperation, BraidingOptimizer, OptimizationStrategy,
356 TopologicalCircuit, TopologicalCompiler, TopologicalGate,
357 };
358 pub use crate::topology::{TopologicalAnalysis, TopologicalAnalyzer, TopologicalStrategy};
359 pub use crate::transpiler::{
360 DeviceTranspiler, HardwareSpec, NativeGateSet, TranspilationOptions, TranspilationResult,
361 TranspilationStats, TranspilationStrategy,
362 };
363 pub use crate::validation::{
364 CircuitValidator, ClassicalConstraints, ConnectivityConstraints, DepthLimits,
365 GateRestrictions, MeasurementConstraints, ResourceLimits, ValidationRules, ValidationStats,
366 ValidationSuggestion,
367 };
368 pub use crate::verifier::{
369 BinaryOperator, CircuitInvariant, CircuitLocation as VerifierCircuitLocation,
370 ComplexityClass as VerifierComplexityClass, ConfidenceStatistics,
371 ConstraintSatisfactionResult, ConstraintType, CorrectnessChecker, CorrectnessCriterion,
372 CorrectnessResult, Counterexample, CustomInvariantChecker, CustomPredicate,
373 EntanglementType, ErrorBounds, ErrorModel, EvidenceType, ExecutionTrace, ExpectedOutput,
374 FormalProof, InvariantCheckResult, InvariantChecker, IssueSeverity,
375 IssueType as VerifierIssueType, ModelCheckResult, ModelChecker, NumericalEvidence,
376 ProofComplexityMetrics, ProofNode, ProofObligation, ProofStatus, ProofStep, ProofStrategy,
377 ProofTree, PropertyChecker, PropertyVerificationResult, QuantumProperty, QuantumState,
378 QuantumTheorem, QuantumVerifier, StateSpace, StateSpaceStatistics, StateTransition,
379 SuperpositionType, SymbolicConstraint, SymbolicExecutionConfig, SymbolicExecutionResult,
380 SymbolicExecutionStatus, SymbolicExecutor, SymbolicExpression, SymbolicState, SymbolicType,
381 SymbolicVariable, TemporalProperty, TestCase, TestOutcome, TheoremProver, TheoremResult,
382 UnaryOperator, VerificationIssue, VerificationMetadata, VerificationOutcome,
383 VerificationResult, VerificationStatistics, VerificationStatus, VerifierConfig,
384 VerifierTestResult, ViolationSeverity,
385 };
386 pub use crate::vqe::{
387 PauliOperator, VQEAnsatz, VQECircuit, VQEObservable, VQEOptimizer, VQEOptimizerType,
388 VQEResult,
389 };
390 pub use crate::zx_calculus::{
391 OptimizedZXResult, ZXDiagram, ZXEdge, ZXNode, ZXOptimizationResult, ZXOptimizer,
392 };
393 pub use quantrs2_core::qubit::QubitId as Qubit;
394}
395
396#[macro_export]
408macro_rules! qubits {
409 ($($id:expr),* $(,)?) => {
410 {
411 use quantrs2_core::qubit::QubitSet;
412
413 let mut qs = QubitSet::new();
414 $(qs.add($id);)*
415 qs
416 }
417 };
418}
419
420#[macro_export]
429macro_rules! circuit {
430 ($n:expr) => {
431 quantrs2_circuit::builder::Circuit::<$n>::new()
432 };
433}
434
435#[macro_export]
450macro_rules! quantum {
451 (
452 let $var:ident = circuit($n:expr);
453 $( $stmt_var:ident . $method:ident ( $( $args:expr ),* $(,)? ) ; )*
454 ) => {
455 {
456 let mut $var = quantrs2_circuit::builder::Circuit::<$n>::new();
457 $(
458 $stmt_var.$method($($args),*).unwrap();
459 )*
460 $var
461 }
462 };
463}