Trait faer::linalg::zip::MaybeContiguous

source ·
pub unsafe trait MaybeContiguous: MatShape {
    type Index: Copy;
    type Slice;
    type LayoutTransform: Copy;

    // Required method
    unsafe fn get_slice_unchecked(
        &mut self,
        idx: Self::Index,
        n_elems: usize
    ) -> Self::Slice;
}
Expand description

Zipped matrix views.

Required Associated Types§

source

type Index: Copy

Indexing type.

source

type Slice

Contiguous slice type.

source

type LayoutTransform: Copy

Layout transformation type.

Required Methods§

source

unsafe fn get_slice_unchecked( &mut self, idx: Self::Index, n_elems: usize ) -> Self::Slice

Returns slice at index of length n_elems.

Implementors§

source§

impl<E: Entity> MaybeContiguous for ColMut<'_, E>

§

type Index = (usize, ())

§

type Slice = <<E as Entity>::Group as ForType>::FaerOf<&'static mut [MaybeUninit<<E as Entity>::Unit>]>

§

type LayoutTransform = VecLayoutTransform

source§

impl<E: Entity> MaybeContiguous for ColRef<'_, E>

§

type Index = (usize, ())

§

type Slice = <<E as Entity>::Group as ForType>::FaerOf<&'static [MaybeUninit<<E as Entity>::Unit>]>

§

type LayoutTransform = VecLayoutTransform

source§

impl<E: Entity> MaybeContiguous for MatMut<'_, E>

§

type Index = (usize, usize)

§

type Slice = <<E as Entity>::Group as ForType>::FaerOf<&'static mut [MaybeUninit<<E as Entity>::Unit>]>

§

type LayoutTransform = MatLayoutTransform

source§

impl<E: Entity> MaybeContiguous for MatRef<'_, E>

source§

impl<E: Entity> MaybeContiguous for RowMut<'_, E>

§

type Index = ((), usize)

§

type Slice = <<E as Entity>::Group as ForType>::FaerOf<&'static mut [MaybeUninit<<E as Entity>::Unit>]>

§

type LayoutTransform = VecLayoutTransform

source§

impl<E: Entity> MaybeContiguous for RowRef<'_, E>

§

type Index = ((), usize)

§

type Slice = <<E as Entity>::Group as ForType>::FaerOf<&'static [MaybeUninit<<E as Entity>::Unit>]>

§

type LayoutTransform = VecLayoutTransform

source§

impl<Rows: Copy + Eq + Debug, Cols: Copy + Eq + Debug, Head: MaybeContiguous<Rows = Rows, Cols = Cols>, Tail: MaybeContiguous<Rows = Rows, Cols = Cols, Index = Head::Index, LayoutTransform = Head::LayoutTransform>> MaybeContiguous for ZipEq<Rows, Cols, Head, Tail>

source§

impl<Rows: Copy + Eq + Debug, Cols: Copy + Eq + Debug, Mat: MaybeContiguous<Rows = Rows, Cols = Cols>> MaybeContiguous for LastEq<Rows, Cols, Mat>