pub struct ChainExpand<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> { /* private fields */ }Trait Implementations§
Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> AsMutExpand for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> AsMutExpand for ChainExpand<L0, L1>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> AsRefExpand for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> AsRefExpand for ChainExpand<L0, L1>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> CubeDebug for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> CubeDebug for ChainExpand<L0, L1>
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> ExpandTypeClone for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> ExpandTypeClone for ChainExpand<L0, L1>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> IntoExpand for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> IntoExpand for ChainExpand<L0, L1>
type Expand = ChainExpand<L0, L1>
fn into_expand(self, _: &Scope) -> Self
Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> IntoMut for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> IntoMut for ChainExpand<L0, L1>
Source§impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> LayoutExpand for ChainExpand<L0, L1>
impl<L0: Layout, L1: Layout<SourceCoordinates = L0::Coordinates>> LayoutExpand for ChainExpand<L0, L1>
Source§type Coordinates = <L1 as Layout>::Coordinates
type Coordinates = <L1 as Layout>::Coordinates
The coordinate type used by the conceptual tensor represented by this layout, i.e.
(u32, u32, u32) for a fixed-rank 3D tensor.
This does not have to match the rank of the underlying storage (if applicable).
It’s only how the tensor is interpreted (viewed) by the code.Source§type SourceCoordinates = <L0 as Layout>::SourceCoordinates
type SourceCoordinates = <L0 as Layout>::SourceCoordinates
The coordinate type used by the inner storage wrapped in this layout, i.e.
u32 for
Array, or (u32, u32) for a 2D view.fn __expand_to_source_pos_method( &self, scope: &Scope, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <Self::SourceCoordinates as CubeType>::ExpandType
fn __expand_is_in_bounds_method( &self, scope: &Scope, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType
fn __expand_to_source_pos_checked_method( &self, scope: &Scope, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> (<Self::SourceCoordinates as CubeType>::ExpandType, <bool as CubeType>::ExpandType)
fn __expand_shape_method( &self, scope: &Scope, ) -> <Self::Coordinates as CubeType>::ExpandType
Auto Trait Implementations§
impl<L0, L1> Freeze for ChainExpand<L0, L1>
impl<L0, L1> RefUnwindSafe for ChainExpand<L0, L1>
impl<L0, L1> Send for ChainExpand<L0, L1>
impl<L0, L1> Sync for ChainExpand<L0, L1>
impl<L0, L1> Unpin for ChainExpand<L0, L1>
impl<L0, L1> UnsafeUnpin for ChainExpand<L0, L1>
impl<L0, L1> UnwindSafe for ChainExpand<L0, L1>
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
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> 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