pub enum FlattenEvent {
Measurement {
original: u32,
emitted: u32,
},
LoopEnter {
body: BodyId,
},
IterationEnd {
body: BodyId,
},
LoopExit {
body: BodyId,
},
}Expand description
A replay step produced by CoordCircuit::flatten.
Events appear in emission order. Side-table owners replay them to re-scope loop-relative annotations onto the unrolled circuit.
Variants§
Measurement
A measurement occurrence was emitted: the pre-flatten id original
occurs here as emitted. Every occurrence except the last gets a fresh
id; the final occurrence keeps emitted == original, so a
pre-flatten id read from outside a loop (a top-level detector, a
boundary flow, an instance-space parity) still names the same record
the emission frame’s latest-occurrence rule resolved it to.
Fields
LoopEnter
A REPEAT over body with at least one repetition began unrolling.
Loop-carried states resolve their initial parity here, before the
first iteration’s measurements shadow anything they reference.
IterationEnd
One unrolled iteration of body finished. Body-scoped detectors are
due here, then loop-carried states advance by their next parity.
LoopExit
A REPEAT over body finished. Side-table replay uses this to close
the loop-state frame and expose only this loop’s declared final states
to its parent scope.
Trait Implementations§
Source§impl Clone for FlattenEvent
impl Clone for FlattenEvent
Source§fn clone(&self) -> FlattenEvent
fn clone(&self) -> FlattenEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FlattenEvent
Source§impl Debug for FlattenEvent
impl Debug for FlattenEvent
impl Eq for FlattenEvent
Source§impl PartialEq for FlattenEvent
impl PartialEq for FlattenEvent
impl StructuralPartialEq for FlattenEvent
Auto Trait Implementations§
impl Freeze for FlattenEvent
impl RefUnwindSafe for FlattenEvent
impl Send for FlattenEvent
impl Sync for FlattenEvent
impl Unpin for FlattenEvent
impl UnsafeUnpin for FlattenEvent
impl UnwindSafe for FlattenEvent
Blanket Implementations§
§impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
fn assign_index(&mut self, index: usize, to: bool)
fn negate_index(&mut self, index: usize)
fn clear_bits(&mut self)
fn assign_random(
&mut self,
bit_count: usize,
random_number_generator: &mut impl RngExt,
)where
BorrowedSelf: BitLength,
§impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
fn assign(&mut self, other: &Other)
fn bitxor_assign(&mut self, other: &Other)
fn bitand_assign(&mut self, other: &Other)
fn bitor_assign(&mut self, other: &Other)
§impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
§impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
fn index(&self, index: usize) -> bool
fn weight(&self) -> usize
fn parity(&self) -> bool
fn is_zero(&self) -> bool
fn is_unit(&self, index: usize) -> bool
fn support<'a>(&'a self) -> impl SortedIteratorwhere
BorrowedSelf: 'a,
fn max_support(&self) -> Option<usize>
fn min_support(&self) -> Option<usize>
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.