quantrs2_circuit/verifier/
config.rs1use serde::{Deserialize, Serialize};
4use std::time::Duration;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct VerifierConfig {
9 pub enable_property_verification: bool,
11 pub enable_invariant_checking: bool,
13 pub enable_theorem_proving: bool,
15 pub enable_model_checking: bool,
17 pub enable_symbolic_execution: bool,
19 pub max_verification_depth: usize,
21 pub verification_timeout: Duration,
23 pub numerical_precision: f64,
25 pub enable_statistical_verification: bool,
27 pub confidence_level: f64,
29 pub max_samples: usize,
31 pub enable_parallel_verification: bool,
33}
34
35impl Default for VerifierConfig {
36 fn default() -> Self {
37 Self {
38 enable_property_verification: true,
39 enable_invariant_checking: true,
40 enable_theorem_proving: true,
41 enable_model_checking: true,
42 enable_symbolic_execution: true,
43 max_verification_depth: 1000,
44 verification_timeout: Duration::from_secs(300),
45 numerical_precision: 1e-12,
46 enable_statistical_verification: true,
47 confidence_level: 0.99,
48 max_samples: 10000,
49 enable_parallel_verification: true,
50 }
51 }
52}