Skip to main content

ViewOperationsExpand

Trait ViewOperationsExpand 

Source
pub trait ViewOperationsExpand<T: CubePrimitive, C: Coordinates>: VectorizedExpand {
    // Required methods
    fn __expand_read_method(
        &self,
        scope: &Scope,
        pos: <C as CubeType>::ExpandType,
    ) -> <T as CubeType>::ExpandType;
    fn __expand_read_checked_method(
        &self,
        scope: &Scope,
        pos: <C as CubeType>::ExpandType,
    ) -> <T as CubeType>::ExpandType;
    fn __expand_read_masked_method(
        &self,
        scope: &Scope,
        pos: <C as CubeType>::ExpandType,
        value: <T as CubeType>::ExpandType,
    ) -> <T as CubeType>::ExpandType;
    fn __expand_read_unchecked_method(
        &self,
        scope: &Scope,
        pos: <C as CubeType>::ExpandType,
    ) -> <T as CubeType>::ExpandType;
    fn __expand_as_linear_slice_method<'infer, 'scope>(
        &'infer self,
        scope: &'scope Scope,
        pos: <C as CubeType>::ExpandType,
        size: <C as CubeType>::ExpandType,
    ) -> &'infer <[T] as CubeType>::ExpandType ;
    fn __expand_tensor_map_load_method(
        &self,
        scope: &Scope,
        barrier: &<Barrier as CubeType>::ExpandType,
        shared_memory: &mut <[T] as CubeType>::ExpandType,
        pos: <C as CubeType>::ExpandType,
    );
    fn __expand_shape_method(
        &self,
        scope: &Scope,
    ) -> <C as CubeType>::ExpandType;
    fn __expand_is_in_bounds_method(
        &self,
        scope: &Scope,
        pos: <C as CubeType>::ExpandType,
    ) -> <bool as CubeType>::ExpandType;
}
Expand description

Type from which we can read values in cube functions. For a mutable version, see [ListMut].

Required Methods§

Source

fn __expand_read_method( &self, scope: &Scope, pos: <C as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source

fn __expand_read_checked_method( &self, scope: &Scope, pos: <C as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source

fn __expand_read_masked_method( &self, scope: &Scope, pos: <C as CubeType>::ExpandType, value: <T as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source

fn __expand_read_unchecked_method( &self, scope: &Scope, pos: <C as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source

fn __expand_as_linear_slice_method<'infer, 'scope>( &'infer self, scope: &'scope Scope, pos: <C as CubeType>::ExpandType, size: <C as CubeType>::ExpandType, ) -> &'infer <[T] as CubeType>::ExpandType

Source

fn __expand_tensor_map_load_method( &self, scope: &Scope, barrier: &<Barrier as CubeType>::ExpandType, shared_memory: &mut <[T] as CubeType>::ExpandType, pos: <C as CubeType>::ExpandType, )

Source

fn __expand_shape_method(&self, scope: &Scope) -> <C as CubeType>::ExpandType

Source

fn __expand_is_in_bounds_method( &self, scope: &Scope, pos: <C as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T: CubePrimitive, C: Coordinates, V: ViewOperationsExpand<T, C> + ?Sized> ViewOperationsExpand<T, C> for &V

Source§

fn __expand_read_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType

Source§

fn __expand_read_checked_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType

Source§

fn __expand_read_masked_method( &self, scope: &Scope, pos: C::ExpandType, value: T::ExpandType, ) -> T::ExpandType

Source§

fn __expand_read_unchecked_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType

Source§

fn __expand_as_linear_slice_method( &self, scope: &Scope, pos: C::ExpandType, size: C::ExpandType, ) -> &SliceExpand<T>

Source§

fn __expand_tensor_map_load_method( &self, scope: &Scope, barrier: &NativeExpand<Barrier>, shared_memory: &mut SliceExpand<T>, pos: C::ExpandType, )

Source§

fn __expand_shape_method(&self, scope: &Scope) -> C::ExpandType

Source§

fn __expand_is_in_bounds_method( &self, scope: &Scope, pos: C::ExpandType, ) -> NativeExpand<bool>

Source§

impl<T: CubePrimitive, C: Coordinates, V: ViewOperationsExpand<T, C> + ?Sized> ViewOperationsExpand<T, C> for &mut V

Source§

fn __expand_read_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType

Source§

fn __expand_read_checked_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType

Source§

fn __expand_read_masked_method( &self, scope: &Scope, pos: C::ExpandType, value: T::ExpandType, ) -> T::ExpandType

Source§

fn __expand_read_unchecked_method( &self, scope: &Scope, pos: C::ExpandType, ) -> T::ExpandType

Source§

fn __expand_as_linear_slice_method( &self, scope: &Scope, pos: C::ExpandType, size: C::ExpandType, ) -> &SliceExpand<T>

Source§

fn __expand_tensor_map_load_method( &self, scope: &Scope, barrier: &NativeExpand<Barrier>, shared_memory: &mut SliceExpand<T>, pos: C::ExpandType, )

Source§

fn __expand_shape_method(&self, scope: &Scope) -> C::ExpandType

Source§

fn __expand_is_in_bounds_method( &self, scope: &Scope, pos: C::ExpandType, ) -> NativeExpand<bool>

Source§

impl<T: CubePrimitive, N: CubePrimitive + Coordinates> ViewOperationsExpand<T, Sequence<N>> for NativeExpand<TensorMap<T, Tiled>>

Source§

fn __expand_read_method( &self, _scope: &Scope, _pos: SequenceExpand<N>, ) -> <T as CubeType>::ExpandType

Source§

fn __expand_read_checked_method( &self, _scope: &Scope, _pos: SequenceExpand<N>, ) -> <T as CubeType>::ExpandType

Source§

fn __expand_read_masked_method( &self, _scope: &Scope, _pos: SequenceExpand<N>, _mask_value: <T as CubeType>::ExpandType, ) -> <T as CubeType>::ExpandType

Source§

fn __expand_read_unchecked_method( &self, _scope: &Scope, _pos: SequenceExpand<N>, ) -> <T as CubeType>::ExpandType

Source§

fn __expand_as_linear_slice_method( &self, _scope: &Scope, _pos: SequenceExpand<N>, _end: SequenceExpand<N>, ) -> &SliceExpand<T>

Source§

fn __expand_shape_method(&self, _scope: &Scope) -> SequenceExpand<N>

Source§

fn __expand_is_in_bounds_method( &self, _scope: &Scope, _pos: SequenceExpand<N>, ) -> NativeExpand<bool>

Source§

fn __expand_tensor_map_load_method( &self, scope: &Scope, barrier: &NativeExpand<Barrier>, shared_memory: &mut SliceExpand<T>, pos: SequenceExpand<N>, )

Source§

impl<T: CubePrimitive, P: CubePrimitive + Coordinates, O: CubePrimitive + Coordinates> ViewOperationsExpand<T, (Sequence<P>, Sequence<O>)> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, ((i32, i32, i32), usize)> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, ((i32, i32, i32, i32), (u32, u32))> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, ((i32, i32, i32, i32, i32), (u32, u32, u32))> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, ((u32, u32, u32), usize)> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, ((u32, u32, u32, u32), (u32, u32))> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, ((u32, u32, u32, u32, u32), (u32, u32, u32))> for NativeExpand<TensorMap<T, Im2col>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (i32, i32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (i32, i32, i32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (i32, i32, i32, i32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (i32, i32, i32, i32, i32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (u32, u32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (u32, u32, u32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (u32, u32, u32, u32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, (u32, u32, u32, u32, u32)> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, i32> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, usize> for NativeExpand<Box<[T]>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, usize> for NativeExpand<TensorMap<T, Tiled>>

Source§

impl<T: CubePrimitive> ViewOperationsExpand<T, usize> for SliceExpand<T>

Implementors§

Source§

impl<'a, Q: Scalar, NQ: Size, S: Scalar, F: Numeric, NF: Size, C: Coordinates + 'static> ViewOperationsExpand<Vector<F, NF>, C> for QuantizedViewExpand<'a, Q, NQ, S, F, NF, C>

Source§

impl<'a, T: CubePrimitive, C: Coordinates + 'a> ViewOperationsExpand<T, C> for ViewExpand<'a, T, C>

Source§

impl<'a, T: CubePrimitive, C: Coordinates + 'a> ViewOperationsExpand<T, C> for ViewMutExpand<'a, T, C>

Source§

impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V> ViewOperationsExpand<T, C> for VirtualViewExpand<T, C, S, V>
where V: ViewOperations<T, S>,

Source§

impl<T: CubePrimitive, C: Coordinates, S: Coordinates, V> ViewOperationsExpand<T, C> for VirtualViewMutExpand<T, C, S, V>
where V: ViewOperationsMut<T, S>,

Source§

impl<T: Numeric, N: Size, IO: Clone> ViewOperationsExpand<Vector<T, N>, usize> for VirtualTensorExpand<T, N, IO>