quantrs2_anneal/quantum_error_correction/
codes.rs1#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum ErrorCorrectionCode {
6 SurfaceCode,
8 ColorCode,
10 RepetitionCode,
12 SteaneCode,
14 ShorCode,
16 CSSCode,
18 StabilizerCode,
20 TopologicalCode,
22 LDPCCode,
24}
25
26#[derive(Debug, Clone)]
28pub struct CodeParameters {
29 pub distance: usize,
31 pub num_logical_qubits: usize,
33 pub num_physical_qubits: usize,
35 pub num_ancilla_qubits: usize,
37 pub code_rate: f64,
39 pub threshold_probability: f64,
41}
42
43impl Default for CodeParameters {
44 fn default() -> Self {
45 Self {
46 distance: 3,
47 num_logical_qubits: 1,
48 num_physical_qubits: 9,
49 num_ancilla_qubits: 4,
50 code_rate: 0.11,
51 threshold_probability: 0.01,
52 }
53 }
54}