pub struct MatRef<'a, E: Entity> { /* private fields */ }Implementations§
source§impl<'a, E: Entity> MatRef<'a, E>
impl<'a, E: Entity> MatRef<'a, E>
pub unsafe fn from_raw_parts( ptr: E::Group<*const E::Unit>, nrows: usize, ncols: usize, row_stride: isize, col_stride: isize ) -> Self
pub fn as_ptr(self) -> E::Group<*const E::Unit>
pub fn nrows(&self) -> usize
pub fn ncols(&self) -> usize
pub fn row_stride(&self) -> isize
pub fn col_stride(&self) -> isize
pub fn ptr_at(self, row: usize, col: usize) -> E::Group<*const E::Unit>
pub unsafe fn ptr_inbounds_at( self, row: usize, col: usize ) -> E::Group<*const E::Unit>
pub fn split_at(self, row: usize, col: usize) -> [Self; 4]
pub fn split_at_row(self, row: usize) -> [Self; 2]
pub fn split_at_col(self, col: usize) -> [Self; 2]
pub unsafe fn get_unchecked( self, row: usize, col: usize ) -> E::Group<&'a E::Unit>
pub fn get(self, row: usize, col: usize) -> E::Group<&'a E::Unit>
pub unsafe fn read_unchecked(&self, row: usize, col: usize) -> E
pub fn read(&self, row: usize, col: usize) -> E
pub fn transpose(self) -> Self
pub fn conjugate(self) -> MatRef<'a, E::Conj>where E: Conjugate,
pub fn adjoint(self) -> MatRef<'a, E::Conj>where E: Conjugate,
pub fn canonicalize(self) -> (MatRef<'a, E::Canonical>, Conj)where E: Conjugate,
pub fn reverse_rows(self) -> Self
pub fn reverse_cols(self) -> Self
pub fn reverse_rows_and_cols(self) -> Self
pub fn submatrix( self, row_start: usize, col_start: usize, nrows: usize, ncols: usize ) -> Self
pub fn subrows(self, row_start: usize, nrows: usize) -> Self
pub fn subcols(self, col_start: usize, ncols: usize) -> Self
pub fn row(self, row_idx: usize) -> Self
pub fn col(self, col_idx: usize) -> Self
pub fn diagonal(self) -> Self
Trait Implementations§
source§impl<'a, 'short, E: Entity> Mat<'short, &'short MatRef<'a, E>> for MatRef<'a, E>
impl<'a, 'short, E: Entity> Mat<'short, &'short MatRef<'a, E>> for MatRef<'a, E>
type Item = Read<'short, E>
type RawSlice = <E as Entity>::Group<&'a [MaybeUninit<<E as Entity>::Unit>]>
fn transpose(self) -> Self
fn reverse_rows(self) -> Self
fn reverse_cols(self) -> Self
fn nrows(&self) -> usize
fn ncols(&self) -> usize
fn row_stride(&self) -> isize
fn col_stride(&self) -> isize
unsafe fn get(&mut self, i: usize, j: usize) -> Self::Item
unsafe fn get_column_slice( &mut self, i: usize, j: usize, n_elems: usize ) -> Self::RawSlice
unsafe fn get_slice_elem(slice: &mut Self::RawSlice, idx: usize) -> Self::Item
source§impl<LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> Mul<Mat<RhsE>> for MatRef<'_, LhsE>where
LhsE::Canonical: ComplexField,
impl<LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> Mul<Mat<RhsE>> for MatRef<'_, LhsE>where LhsE::Canonical: ComplexField,
source§impl<LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> Mul<MatRef<'_, RhsE>> for Mat<LhsE>where
LhsE::Canonical: ComplexField,
impl<LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> Mul<MatRef<'_, RhsE>> for Mat<LhsE>where LhsE::Canonical: ComplexField,
source§impl<LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> Mul<MatRef<'_, RhsE>> for MatRef<'_, LhsE>where
LhsE::Canonical: ComplexField,
impl<LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> Mul<MatRef<'_, RhsE>> for MatRef<'_, LhsE>where LhsE::Canonical: ComplexField,
source§impl<'a, U: Conjugate, T: Conjugate<Canonical = U::Canonical>> PartialEq<MatRef<'a, U>> for MatRef<'a, T>where
T::Canonical: ComplexField,
impl<'a, U: Conjugate, T: Conjugate<Canonical = U::Canonical>> PartialEq<MatRef<'a, U>> for MatRef<'a, T>where T::Canonical: ComplexField,
impl<E: Entity> Copy for MatRef<'_, E>
impl<E: Entity> Send for MatRef<'_, E>
impl<E: Entity> Sync for MatRef<'_, E>
Auto Trait Implementations§
impl<'a, E> RefUnwindSafe for MatRef<'a, E>where E: RefUnwindSafe, <E as Entity>::GroupCopy<NonNull<<E as Entity>::Unit>>: RefUnwindSafe,
impl<'a, E> Unpin for MatRef<'a, E>where <E as Entity>::GroupCopy<NonNull<<E as Entity>::Unit>>: Unpin,
impl<'a, E> UnwindSafe for MatRef<'a, E>where E: RefUnwindSafe, <E as Entity>::GroupCopy<NonNull<<E as Entity>::Unit>>: UnwindSafe,
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