pub struct SliceIndex { /* private fields */ }Expand description
Slice the layout at a specific batch, and reduce its dimensionality Not general enough to be in cubecl-std
Implementations§
Source§impl SliceIndex
impl SliceIndex
pub fn new(offset: u32, shape: Coords3d) -> Self
pub fn __expand_new( scope: &mut Scope, offset: <u32 as CubeType>::ExpandType, shape: <Coords3d as CubeType>::ExpandType, ) -> <Self as CubeType>::ExpandType
Trait Implementations§
Source§impl Clone for SliceIndex
impl Clone for SliceIndex
Source§fn clone(&self) -> SliceIndex
fn clone(&self) -> SliceIndex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CubeType for SliceIndex
impl CubeType for SliceIndex
type ExpandType = SliceIndexExpand
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl Layout for SliceIndex
impl Layout for SliceIndex
Source§type Coordinates = (u32, u32)
type Coordinates = (u32, u32)
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 = (u32, u32, u32)
type SourceCoordinates = (u32, u32, u32)
The coordinate type used by the inner storage wrapped in this layout, i.e.
u32 for
Array, or (u32, u32) for a 2D view.Source§fn to_source_pos(&self, pos: Self::Coordinates) -> Self::SourceCoordinates
fn to_source_pos(&self, pos: Self::Coordinates) -> Self::SourceCoordinates
Transform a set of n-dimensional coordinates to a source coordinate space.
It is recommended to use absolute positions here, and handle the translation into lines
at the lowest level (global memory layout).
fn is_in_bounds(&self, _pos: Self::Coordinates) -> bool
Source§fn to_source_pos_checked(
&self,
pos: Self::Coordinates,
) -> (Self::SourceCoordinates, bool)
fn to_source_pos_checked( &self, pos: Self::Coordinates, ) -> (Self::SourceCoordinates, bool)
Transform a set of n-dimensional coordinates to an offset into the underlying storage,
and return whether the position is in bounds of this layout.
See also Layout::to_source_pos
Source§fn shape(&self) -> Self::Coordinates
fn shape(&self) -> Self::Coordinates
The shape of the conceptual tensor represented by this layout. Not necessarily the extent
of the underlying storage, but only this view of it.
fn __expand_to_source_pos( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <Self::SourceCoordinates as CubeType>::ExpandType
fn __expand_to_source_pos_checked( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <(Self::SourceCoordinates, bool) as CubeType>::ExpandType
fn __expand_shape( scope: &mut Scope, this: Self::ExpandType, ) -> <Self::Coordinates as CubeType>::ExpandType
fn __expand_is_in_bounds( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType
impl Copy for SliceIndex
Auto Trait Implementations§
impl Freeze for SliceIndex
impl RefUnwindSafe for SliceIndex
impl Send for SliceIndex
impl Sync for SliceIndex
impl Unpin for SliceIndex
impl UnwindSafe for SliceIndex
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