pub struct Decoded<O: Float, W: Size> { /* private fields */ }Expand description
The lines of a tile’s window at O, W values a line, each read decoded (Tile::decoded).
A line is named by its row, the window’s lines grouped by every axis but the innermost and counted row-major, and its place in the row. Every line of a row shares the row’s address and scale, so a reader taking several lines of one row computes them once.
Implementations§
Source§impl<O: Float, W: Size> Decoded<O, W>
impl<O: Float, W: Size> Decoded<O, W>
Sourcepub fn read(&self, row: usize, line: usize) -> Vector<O, W>
pub fn read(&self, row: usize, line: usize) -> Vector<O, W>
The line-th line of row row, masked where it overhangs the operand.
Sourcepub fn read_unchecked(&self, row: usize, line: usize) -> Vector<O, W>
pub fn read_unchecked(&self, row: usize, line: usize) -> Vector<O, W>
The line-th line of row row, untested: the reader proved it in bounds, so reading past
them is out of bounds, not masked. What a reader that tests each line itself takes, so the
read does not test it again.
§Panics
As the kernel expands, on a window with a Boundary::Clamp
axis, whose reads must be clamped.
Sourcepub fn __expand_read(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
row: <usize as CubeType>::ExpandType,
line: <usize as CubeType>::ExpandType,
) -> <Vector<O, W> as CubeType>::ExpandType
pub fn __expand_read( scope: &Scope, this: &<Self as CubeType>::ExpandType, row: <usize as CubeType>::ExpandType, line: <usize as CubeType>::ExpandType, ) -> <Vector<O, W> as CubeType>::ExpandType
The line-th line of row row, masked where it overhangs the operand.
Sourcepub fn __expand_read_unchecked(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
row: <usize as CubeType>::ExpandType,
line: <usize as CubeType>::ExpandType,
) -> <Vector<O, W> as CubeType>::ExpandType
pub fn __expand_read_unchecked( scope: &Scope, this: &<Self as CubeType>::ExpandType, row: <usize as CubeType>::ExpandType, line: <usize as CubeType>::ExpandType, ) -> <Vector<O, W> as CubeType>::ExpandType
The line-th line of row row, untested: the reader proved it in bounds, so reading past
them is out of bounds, not masked. What a reader that tests each line itself takes, so the
read does not test it again.
§Panics
As the kernel expands, on a window with a Boundary::Clamp
axis, whose reads must be clamped.
Trait Implementations§
Auto Trait Implementations§
impl<O, W> !Send for Decoded<O, W>
impl<O, W> !Sync for Decoded<O, W>
impl<O, W> Freeze for Decoded<O, W>
impl<O, W> RefUnwindSafe for Decoded<O, W>
impl<O, W> Unpin for Decoded<O, W>
impl<O, W> UnsafeUnpin for Decoded<O, W>
impl<O, W> UnwindSafe for Decoded<O, W>
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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