// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. /// Maximum allowed error code distance pub const MAX_CODE_DISTANCE: u64 = 50; /// Maximum number of distillation rounds pub const MAX_DISTILLATION_ROUNDS: u64 = 3; /// Maximum number of extra distillation rounds in case none is found for [`MAX_DISTILLATION_ROUNDS`] pub const MAX_EXTRA_DISTILLATION_ROUNDS: u64 = 4; /// (Γ_R in paper for layout) #[allow(clippy::doc_markdown)] pub const NUM_MEASUREMENTS_PER_R: u64 = 1; /// (Γ_Tof in paper for layout) #[allow(clippy::doc_markdown)] pub const NUM_MEASUREMENTS_PER_TOF: u64 = 3; /// A coefficient in Ts per rotation pub const NUM_TS_PER_ROTATION_A_COEFFICIENT: f64 = 0.53; /// A coefficient in Ts per rotation pub const NUM_TS_PER_ROTATION_B_COEFFICIENT: f64 = 4.86; // Physical qubit field names pub const INSTRUCTION_SET: &str = "instructionSet"; pub const ONE_QUBIT_MEASUREMENT_TIME: &str = "oneQubitMeasurementTime"; pub const TWO_QUBIT_JOINT_MEASUREMENT_TIME: &str = "twoQubitJointMeasurementTime"; pub const ONE_QUBIT_MEASUREMENT_ERROR_RATE: &str = "oneQubitMeasurementErrorRate"; pub const ONE_QUBIT_MEASUREMENT_PROCESS_ERROR_RATE: &str = "oneQubitMeasurementErrorRate.process"; #[cfg(test)] pub const TWO_QUBIT_JOINT_MEASUREMENT_ERROR_RATE: &str = "twoQubitJointMeasurementErrorRate"; pub const TWO_QUBIT_JOINT_MEASUREMENT_PROCESS_ERROR_RATE: &str = "twoQubitJointMeasurementErrorRate.process"; pub const ONE_QUBIT_GATE_TIME: &str = "oneQubitGateTime"; pub const ONE_QUBIT_GATE_ERROR_RATE: &str = "oneQubitGateErrorRate"; pub const TWO_QUBIT_GATE_TIME: &str = "twoQubitGateTime"; pub const TWO_QUBIT_GATE_ERROR_RATE: &str = "twoQubitGateErrorRate"; pub const T_GATE_ERROR_RATE: &str = "tGateErrorRate"; pub const IDLE_ERROR_RATE: &str = "idleErrorRate"; #[cfg(test)] pub const READOUT: &str = "readout"; #[cfg(test)] pub const PROCESS: &str = "process"; #[cfg(test)] pub const FLOAT_COMPARISON_EPSILON: f64 = 0.000_000_000_1;