pub enum Op {
Gate {
gate: GateType,
qubits: Vec<IVec2>,
},
Measure {
basis: PauliBasis,
qubits: Vec<IVec2>,
measurements: Vec<u32>,
flip_probability: f64,
},
MPP {
products: Vec<PauliMap>,
measurements: Vec<u32>,
},
Depolarize1 {
probability: f64,
qubits: Vec<IVec2>,
},
Depolarize2 {
probability: f64,
qubits: Vec<IVec2>,
},
PauliError {
probability: f64,
pauli: PauliBasis,
qubits: Vec<IVec2>,
},
Tick,
Repeat {
body: BodyId,
repetitions: u32,
},
ConditionalPauli(Vec<ConditionalCorrection>),
}Expand description
A single coordinate-addressed circuit operation.
Variants§
Gate
A gate applied to its target qubits (pairwise for two-qubit gates).
Measure
A single-qubit measurement of each qubit in basis; measurements[i]
is the record id produced for qubits[i].
Fields
basis: PauliBasisMeasured basis.
MPP
Multi-Pauli-product measurement (Stim MPP). Each entry of products is
one Pauli-product group (e.g. X0*X1) measured jointly; products[i]
produces record measurements[i], and the data-qubit support is carried
here for emission. Temporal Port blocks use this to measure patch
stabilizers as an ideal noiseless open boundary.
Fields
Depolarize1
Independent single-qubit depolarizing channels on qubits.
Depolarize2
Independent two-qubit depolarizing channels on consecutive qubit pairs.
PauliError
Independent Pauli errors on qubits (Stim X_ERROR/Y_ERROR/Z_ERROR).
Fields
pauli: PauliBasisApplied Pauli.
Tick
A moment barrier separating parallel operations.
Repeat
Executes body repetitions times (Stim REPEAT).
ConditionalPauli(Vec<ConditionalCorrection>)
Physically-applied Pauli feedforward: each correction applies its Pauli
to its target iff its control measurement is 1 (Stim CZ rec[-k] q).
Support-transparent: the FlowEngine ignores it, so
flows/detectors derive from the Clifford+Measure
structure alone. The parity effect of a
measurement-conditioned sign flip (a control entering a downstream
detector/observable parity) is the backend/DEM generator’s
responsibility, not the IR’s — the IR carries the op, not the analysis.