SliceIndex

Struct SliceIndex 

Source
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

Source

pub fn new(offset: u32, shape: Coords3d) -> Self

Source

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

Source§

fn clone(&self) -> SliceIndex

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CubeType for SliceIndex

Source§

type ExpandType = SliceIndexExpand

Source§

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

Source§

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)

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

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).
Source§

fn is_in_bounds(&self, _pos: Self::Coordinates) -> bool

Source§

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

The shape of the conceptual tensor represented by this layout. Not necessarily the extent of the underlying storage, but only this view of it.
Source§

fn __expand_to_source_pos( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <Self::SourceCoordinates as CubeType>::ExpandType

Source§

fn __expand_to_source_pos_checked( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <(Self::SourceCoordinates, bool) as CubeType>::ExpandType

Source§

fn __expand_shape( scope: &mut Scope, this: Self::ExpandType, ) -> <Self::Coordinates as CubeType>::ExpandType

Source§

fn __expand_is_in_bounds( scope: &mut Scope, this: Self::ExpandType, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType

Source§

impl Copy for SliceIndex

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V