Skip to main content

quantrs2_device/cross_platform_benchmarking/
crossplatformbenchmarkconfig_traits.rs

1//! # CrossPlatformBenchmarkConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `CrossPlatformBenchmarkConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use quantrs2_circuit::prelude::*;
12use std::time::{Duration, Instant, SystemTime};
13
14use super::types::{
15    ComplexityLevel, CrossPlatformBenchmarkConfig, ParallelBenchmarkConfig, QuantumPlatform,
16    StatisticalAnalysisConfig,
17};
18
19impl Default for CrossPlatformBenchmarkConfig {
20    fn default() -> Self {
21        Self {
22            target_platforms: vec![
23                QuantumPlatform::IBMQuantum("ibmq_qasm_simulator".to_string()),
24                QuantumPlatform::AWSBraket(
25                    "arn:aws:braket:::device/quantum-simulator/amazon/sv1".to_string(),
26                ),
27            ],
28            complexity_levels: vec![
29                ComplexityLevel {
30                    name: "Simple".to_string(),
31                    qubit_count: 2,
32                    circuit_depth: 5,
33                    gate_count_range: (5, 15),
34                    two_qubit_gate_ratio: 0.3,
35                    description: "Basic circuits for connectivity testing".to_string(),
36                },
37                ComplexityLevel {
38                    name: "Medium".to_string(),
39                    qubit_count: 5,
40                    circuit_depth: 20,
41                    gate_count_range: (20, 50),
42                    two_qubit_gate_ratio: 0.4,
43                    description: "Intermediate circuits for performance assessment".to_string(),
44                },
45                ComplexityLevel {
46                    name: "Complex".to_string(),
47                    qubit_count: 10,
48                    circuit_depth: 50,
49                    gate_count_range: (50, 150),
50                    two_qubit_gate_ratio: 0.5,
51                    description: "Complex circuits for scalability testing".to_string(),
52                },
53            ],
54            statistical_config: StatisticalAnalysisConfig::default(),
55            parallel_config: ParallelBenchmarkConfig::default(),
56            benchmark_timeout: Duration::from_secs(300),
57            repetitions: 10,
58            enable_cost_analysis: true,
59            enable_latency_analysis: true,
60            enable_reliability_analysis: true,
61            custom_circuits: Vec::new(),
62        }
63    }
64}