pub enum ClassicalNode {
Compute {
expr: ClassicalExpr,
},
Observable {
index: Option<u32>,
measurements: Vec<InstanceMeasurement>,
operators: Vec<InstanceBoundaryOperator>,
},
Discard {
condition: ClassicalExpr,
},
}Expand description
Classical logic and observable recipes. Composition edges include a child’s measurements and boundary bindings; value edges select a Boolean output.
Variants§
Compute
Combinational logic over incoming value slots.
Fields
§
expr: ClassicalExprBoolean expression.
Observable
Observable recipe. Indexed recipes expose corrected values and predicted decoder flips. Unindexed fragments expose their assembled parity and compose without an independent decoder request.
Fields
§
measurements: Vec<InstanceMeasurement>Local records, preserving order and occurrences.
§
operators: Vec<InstanceBoundaryOperator>Boundary bindings with physical ownership.
Discard
Reject the shot when the condition holds.
Fields
§
condition: ClassicalExprRejection condition.
Implementations§
Source§impl ClassicalNode
impl ClassicalNode
Sourcepub fn observable(index: u32) -> Self
pub fn observable(index: u32) -> Self
A complete observable with an empty recipe.
Sourcepub fn observable_fragment(
measurements: Vec<InstanceMeasurement>,
operators: Vec<InstanceBoundaryOperator>,
) -> Self
pub fn observable_fragment( measurements: Vec<InstanceMeasurement>, operators: Vec<InstanceBoundaryOperator>, ) -> Self
A composable recipe without its own decoder query.
Sourcepub fn measurements(&self) -> &[InstanceMeasurement]
pub fn measurements(&self) -> &[InstanceMeasurement]
Record terms owned directly by this producer.
Sourcepub fn operators(&self) -> &[InstanceBoundaryOperator]
pub fn operators(&self) -> &[InstanceBoundaryOperator]
Boundary bindings owned directly by this producer.
Trait Implementations§
Source§impl Clone for ClassicalNode
impl Clone for ClassicalNode
Source§fn clone(&self) -> ClassicalNode
fn clone(&self) -> ClassicalNode
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 moreSource§impl Debug for ClassicalNode
impl Debug for ClassicalNode
Source§impl<'de> Deserialize<'de> for ClassicalNode
impl<'de> Deserialize<'de> for ClassicalNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ClassicalNode
Source§impl Hash for ClassicalNode
impl Hash for ClassicalNode
Source§impl PartialEq for ClassicalNode
impl PartialEq for ClassicalNode
Source§impl Serialize for ClassicalNode
impl Serialize for ClassicalNode
impl StructuralPartialEq for ClassicalNode
Auto Trait Implementations§
impl Freeze for ClassicalNode
impl RefUnwindSafe for ClassicalNode
impl Send for ClassicalNode
impl Sync for ClassicalNode
impl Unpin for ClassicalNode
impl UnsafeUnpin for ClassicalNode
impl UnwindSafe for ClassicalNode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.