pub struct OutputLogical {
pub port: IVec3,
pub logical_x: PauliString,
pub logical_z: PauliString,
pub consumed: bool,
}Expand description
Logical X and Z operators for one program output.
These engine-index PauliStrings are ready to measure at the end of a
shot. run_bloq_with_hook builds them once and lends them to every shot’s
hook via ShotContext.
Both maps come directly from Bloq::logical_outputs, so execution needs
no compiler geometry.
Fields§
§port: IVec3The source output port.
logical_x: PauliStringLogical X over engine indices.
logical_z: PauliStringLogical Z over engine indices.
consumed: boolWhether a later node can consume this output’s patch. Its operators
then refer to a later worldline on the terminal state; hooks must use
ShotContext::saved_outputs to read outputs captured at an earlier cut.
Trait Implementations§
Source§impl Clone for OutputLogical
impl Clone for OutputLogical
Source§fn clone(&self) -> OutputLogical
fn clone(&self) -> OutputLogical
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OutputLogical
impl RefUnwindSafe for OutputLogical
impl Send for OutputLogical
impl Sync for OutputLogical
impl Unpin for OutputLogical
impl UnsafeUnpin for OutputLogical
impl UnwindSafe for OutputLogical
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
Mutably borrows from an owned value. Read more