pub struct ResolvedLayout {
pub contiguous: Tri,
pub strided: Tri,
pub broadcast_stride0: Tri,
pub start_offset: Tri,
pub reverse_strides: Tri,
}Expand description
The full typed five-flag layout set for one operand — every flag
retained, even the ones not yet projected onto KernelCaps (§6
[consumer-ahead]).
Fields§
§contiguous: Trirequired | accepted | n/a for the contiguous property.
strided: Triaccepted | rejected — kernel walks explicit strides.
broadcast_stride0: Triaccepted | rejected — kernel handles a stride-0 broadcast axis.
start_offset: Triaccepted | rejected — kernel honors a non-zero start offset.
Retained, not projected (auto-Contiguize handles it today).
reverse_strides: Triaccepted | rejected — kernel walks negative (reverse) strides.
Retained, not projected (no KernelCaps field yet).
Implementations§
Source§impl ResolvedLayout
impl ResolvedLayout
Sourcepub fn project(&self) -> KernelCaps
pub fn project(&self) -> KernelCaps
Project this operand’s flags onto today’s single-bool
KernelCaps per the EXACT §6 rule:
strided_input = (strided == accepted) && (broadcast_stride0 == accepted).
Trait Implementations§
Source§impl Clone for ResolvedLayout
impl Clone for ResolvedLayout
impl Copy for ResolvedLayout
Source§impl Debug for ResolvedLayout
impl Debug for ResolvedLayout
impl Eq for ResolvedLayout
Source§impl PartialEq for ResolvedLayout
impl PartialEq for ResolvedLayout
impl StructuralPartialEq for ResolvedLayout
Auto Trait Implementations§
impl Freeze for ResolvedLayout
impl RefUnwindSafe for ResolvedLayout
impl Send for ResolvedLayout
impl Sync for ResolvedLayout
impl Unpin for ResolvedLayout
impl UnsafeUnpin for ResolvedLayout
impl UnwindSafe for ResolvedLayout
Blanket Implementations§
impl<T> Boilerplate for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more