ppvm_vihaco::measurements
measurements¶
ppvm_vihaco::measurements
classMeasurementEffect¶source
ppvm_vihaco::measurements::MeasurementEffect
Bases: Observe<MeasurementEffect>, From<MeasurementEffect>, Debug, Clone, Eq, StructuralPartialEq, PartialEq
Rust struct.
classMeasurementObserver¶source
ppvm_vihaco::measurements::MeasurementObserver
Bases: Debug, Default, Observe<MeasurementEffect>
Rust struct.
classTraceEffect¶source
ppvm_vihaco::measurements::TraceEffect
Bases: Observe<TraceEffect>, From<TraceEffect>, Debug, Clone, StructuralPartialEq, PartialEq
Rust struct. Per-step trace value emitted by the `Trace` instruction on the PauliSum and LossyPauliSum backends. The plan's Decision 5 keeps trace and measurement records as two parallel streams; this effect feeds the trace stream.
classTraceObserver¶source
ppvm_vihaco::measurements::TraceObserver
Bases: Debug, Default, Observe<TraceEffect>
Rust struct.
classCircuitOutcomeEffect¶source
ppvm_vihaco::measurements::CircuitOutcomeEffect
Bases: From<CircuitOutcomeEffect>, Debug, Clone, StructuralPartialEq, PartialEq, From<MeasurementEffect>, From<TraceEffect>
Rust enum. Union of the two effect types a circuit instruction can produce. The plan's structural note (Task 6) calls for broadening the `#[component(..., effect = ...)]` annotation on `Circuit` and the executors to a union so a single `Trace` (or `Measure`) instruction can fan out to the right observer.
pub enum CircuitOutcomeEffectVariants
| Name | Type | Description |
|---|---|---|
Measurement | (MeasurementEffect) | |
Trace | (TraceEffect) |
classMeasurementOutcome¶source
ppvm_vihaco::measurements::MeasurementOutcome
Bases: Debug, Clone, Copy, Eq, StructuralPartialEq, PartialEq, From<Option<bool>>
Rust enum. Measurement results are represented as an integer enum: 0: state |0> 1: state |1> 2: qubit has been lost prior to measurement In bytecode, this is represented as a u32 integer, which is simpler than e.g. two boolean values and matches semantics elsewhere
classMeasurementResult¶source
ppvm_vihaco::measurements::MeasurementResult
Rust type alias.
pub type MeasurementResult = SmallVec<[MeasurementOutcome; 8]>