pub struct PipePadding {
pub offset: IVec2,
pub one_round: TemplateId,
pub looped: TemplateId,
}Expand description
Memory-padding provenance for one temporal pipe.
This identifies the precompiled templates crate::Bloq::insert_memory_rounds instantiates on
the pipe’s seam, and the layout offset placing them over its cross-section.
Edge scope matters for a temporal Hadamard, whose parent and child seams use
different adjacent cube faces. A region’s outgoing edge may instead carry
the terminal-face templates used to append padding inside that region.
Which pipe this describes is the crate::PipeSeam that owns it.
Fields§
§offset: IVec2Layout offset positioning the templates over the pipe’s cross-section.
one_round: TemplateIdTemplate implementing exactly one memory round (no repeat body).
looped: TemplateIdTemplate implementing 1 + r rounds as a first round plus a
REPEAT r body. Side tables and boundary flows are repetition-count
independent, so an edit specializes it to any rounds >= 2 by cloning
and rewriting r to rounds - 1.
Trait Implementations§
Source§impl Clone for PipePadding
impl Clone for PipePadding
Source§fn clone(&self) -> PipePadding
fn clone(&self) -> PipePadding
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 PipePadding
Source§impl Debug for PipePadding
impl Debug for PipePadding
Source§impl<'de> Deserialize<'de> for PipePadding
impl<'de> Deserialize<'de> for PipePadding
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>,
impl Eq for PipePadding
Source§impl Hash for PipePadding
impl Hash for PipePadding
Source§impl PartialEq for PipePadding
impl PartialEq for PipePadding
Source§impl Serialize for PipePadding
impl Serialize for PipePadding
impl StructuralPartialEq for PipePadding
Auto Trait Implementations§
impl Freeze for PipePadding
impl RefUnwindSafe for PipePadding
impl Send for PipePadding
impl Sync for PipePadding
impl Unpin for PipePadding
impl UnsafeUnpin for PipePadding
impl UnwindSafe for PipePadding
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<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
§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.