#[repr(transparent)]pub struct Row<Inner>(pub Inner);Expand description
generic Row wrapper
Tuple Fields§
§0: InnerImplementations§
Source§impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>
impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>
Sourcepub const unsafe fn from_raw_parts_mut(
ptr: *mut T,
ncols: Cols,
col_stride: CStride,
) -> Self
pub const unsafe fn from_raw_parts_mut( ptr: *mut T, ncols: Cols, col_stride: CStride, ) -> Self
creates a RowMut from pointers to the column vector data, number of rows, and row stride
§safety
this function has the same safety requirements as
[MatMut::from_raw_parts_mut(ptr, 1, ncols, 0, col_stride)]
Sourcepub fn col_stride(&self) -> CStride
pub fn col_stride(&self) -> CStride
returns the column stride of the row
Sourcepub fn ptr_at(&self, col: IdxInc<Cols>) -> *const T
pub fn ptr_at(&self, col: IdxInc<Cols>) -> *const T
returns a raw pointer to the element at the given index
Sourcepub unsafe fn ptr_inbounds_at(&self, col: Idx<Cols>) -> *const T
pub unsafe fn ptr_inbounds_at(&self, col: Idx<Cols>) -> *const T
returns a raw pointer to the element at the given index, assuming the provided index is within the row bounds
§safety
the behavior is undefined if any of the following conditions are violated:
col < self.ncols()
Sourcepub fn split_at_col(
self,
col: IdxInc<Cols>,
) -> (RowRef<'a, T, usize, CStride>, RowRef<'a, T, usize, CStride>)
pub fn split_at_col( self, col: IdxInc<Cols>, ) -> (RowRef<'a, T, usize, CStride>, RowRef<'a, T, usize, CStride>)
Sourcepub fn adjoint(self) -> ColRef<'a, T::Conj, Cols, CStride>where
T: Conjugate,
pub fn adjoint(self) -> ColRef<'a, T::Conj, Cols, CStride>where
T: Conjugate,
see RowRef::adjoint
Sourcepub fn get<ColRange>(
self,
col: ColRange,
) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
pub fn get<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
see RowRef::get
Sourcepub unsafe fn get_unchecked<ColRange>(
self,
col: ColRange,
) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
pub unsafe fn get_unchecked<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
Sourcepub fn reverse_cols(self) -> RowRef<'a, T, Cols, CStride::Rev>
pub fn reverse_cols(self) -> RowRef<'a, T, Cols, CStride::Rev>
Sourcepub fn subcols<V: Shape>(
self,
col_start: IdxInc<Cols>,
ncols: V,
) -> RowRef<'a, T, V, CStride>
pub fn subcols<V: Shape>( self, col_start: IdxInc<Cols>, ncols: V, ) -> RowRef<'a, T, V, CStride>
see RowRef::subcols
Sourcepub fn as_col_shape<V: Shape>(self, ncols: V) -> RowRef<'a, T, V, CStride>
pub fn as_col_shape<V: Shape>(self, ncols: V) -> RowRef<'a, T, V, CStride>
Sourcepub fn as_dyn_cols(self) -> RowRef<'a, T, usize, CStride>
pub fn as_dyn_cols(self) -> RowRef<'a, T, usize, CStride>
Sourcepub fn as_dyn_stride(self) -> RowRef<'a, T, Cols, isize>
pub fn as_dyn_stride(self) -> RowRef<'a, T, Cols, isize>
Sourcepub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Cols: 'a,
pub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Cols: 'a,
see RowRef::iter
Sourcepub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Cols: 'a,
pub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Cols: 'a,
see RowRef::par_iter
Sourcepub fn try_as_row_major(self) -> Option<RowRef<'a, T, Cols, ContiguousFwd>>
pub fn try_as_row_major(self) -> Option<RowRef<'a, T, Cols, ContiguousFwd>>
Sourcepub fn as_diagonal(self) -> DiagRef<'a, T, Cols, CStride>
pub fn as_diagonal(self) -> DiagRef<'a, T, Cols, CStride>
Sourcepub fn as_mat_mut(self) -> MatMut<'a, T, usize, Cols, isize, CStride>
pub fn as_mat_mut(self) -> MatMut<'a, T, usize, Cols, isize, CStride>
see RowRef::as_mat
Source§impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> ReborrowMut<'short, Target = Mut<'short, T, Cols, CStride>>> Row<Inner>
impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> ReborrowMut<'short, Target = Mut<'short, T, Cols, CStride>>> Row<Inner>
Sourcepub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
other: impl AsRowRef<T = RhsT, Cols = Cols>,
)where
T: ComplexField,
pub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
other: impl AsRowRef<T = RhsT, Cols = Cols>,
)where
T: ComplexField,
copies other into self
Source§impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>
impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>
Sourcepub fn as_ptr_mut(&self) -> *mut T
pub fn as_ptr_mut(&self) -> *mut T
see RowRef::as_ptr
Sourcepub fn ptr_at_mut(&self, col: IdxInc<Cols>) -> *mut T
pub fn ptr_at_mut(&self, col: IdxInc<Cols>) -> *mut T
see RowRef::ptr_at
Sourcepub unsafe fn ptr_inbounds_at_mut(&self, col: Idx<Cols>) -> *mut T
pub unsafe fn ptr_inbounds_at_mut(&self, col: Idx<Cols>) -> *mut T
Sourcepub fn split_at_col_mut(
self,
col: IdxInc<Cols>,
) -> (RowMut<'a, T, usize, CStride>, RowMut<'a, T, usize, CStride>)
pub fn split_at_col_mut( self, col: IdxInc<Cols>, ) -> (RowMut<'a, T, usize, CStride>, RowMut<'a, T, usize, CStride>)
Sourcepub fn transpose_mut(self) -> ColMut<'a, T, Cols, CStride>
pub fn transpose_mut(self) -> ColMut<'a, T, Cols, CStride>
Sourcepub fn conjugate_mut(self) -> RowMut<'a, T::Conj, Cols, CStride>where
T: Conjugate,
pub fn conjugate_mut(self) -> RowMut<'a, T::Conj, Cols, CStride>where
T: Conjugate,
Sourcepub fn canonical_mut(self) -> RowMut<'a, T::Canonical, Cols, CStride>where
T: Conjugate,
pub fn canonical_mut(self) -> RowMut<'a, T::Canonical, Cols, CStride>where
T: Conjugate,
Sourcepub fn adjoint_mut(self) -> ColMut<'a, T::Conj, Cols, CStride>where
T: Conjugate,
pub fn adjoint_mut(self) -> ColMut<'a, T::Conj, Cols, CStride>where
T: Conjugate,
see RowRef::adjoint
Sourcepub fn get_mut<ColRange>(
self,
col: ColRange,
) -> <RowMut<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
pub fn get_mut<ColRange>( self, col: ColRange, ) -> <RowMut<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
see RowRef::get
Sourcepub unsafe fn get_mut_unchecked<ColRange>(
self,
col: ColRange,
) -> <RowMut<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
pub unsafe fn get_mut_unchecked<ColRange>( self, col: ColRange, ) -> <RowMut<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
see RowRef::get
Sourcepub fn reverse_cols_mut(self) -> RowMut<'a, T, Cols, CStride::Rev>
pub fn reverse_cols_mut(self) -> RowMut<'a, T, Cols, CStride::Rev>
Sourcepub fn subcols_mut<V: Shape>(
self,
col_start: IdxInc<Cols>,
ncols: V,
) -> RowMut<'a, T, V, CStride>
pub fn subcols_mut<V: Shape>( self, col_start: IdxInc<Cols>, ncols: V, ) -> RowMut<'a, T, V, CStride>
see RowRef::subcols
Sourcepub fn as_col_shape_mut<V: Shape>(self, ncols: V) -> RowMut<'a, T, V, CStride>
pub fn as_col_shape_mut<V: Shape>(self, ncols: V) -> RowMut<'a, T, V, CStride>
Sourcepub fn as_dyn_cols_mut(self) -> RowMut<'a, T, usize, CStride>
pub fn as_dyn_cols_mut(self) -> RowMut<'a, T, usize, CStride>
Sourcepub fn as_dyn_stride_mut(self) -> RowMut<'a, T, Cols, isize>
pub fn as_dyn_stride_mut(self) -> RowMut<'a, T, Cols, isize>
Sourcepub fn iter_mut(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a mut T>where
Cols: 'a,
pub fn iter_mut(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a mut T>where
Cols: 'a,
see RowRef::iter
Sourcepub fn par_iter_mut(self) -> impl 'a + IndexedParallelIterator<Item = &'a mut T>where
T: Send,
Cols: 'a,
pub fn par_iter_mut(self) -> impl 'a + IndexedParallelIterator<Item = &'a mut T>where
T: Send,
Cols: 'a,
see RowRef::par_iter
Sourcepub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = RowRef<'a, T, usize, CStride>>where
T: Sync,
Cols: 'a,
pub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = RowRef<'a, T, usize, CStride>>where
T: Sync,
Cols: 'a,
Sourcepub fn par_partition_mut(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = RowMut<'a, T, usize, CStride>>where
T: Send,
Cols: 'a,
pub fn par_partition_mut(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = RowMut<'a, T, usize, CStride>>where
T: Send,
Cols: 'a,
Sourcepub fn try_as_row_major_mut(self) -> Option<RowMut<'a, T, Cols, ContiguousFwd>>
pub fn try_as_row_major_mut(self) -> Option<RowMut<'a, T, Cols, ContiguousFwd>>
Sourcepub fn as_diagonal_mut(self) -> DiagMut<'a, T, Cols, CStride>
pub fn as_diagonal_mut(self) -> DiagMut<'a, T, Cols, CStride>
Source§impl<'a, T, Cols: Shape> Row<Mut<'a, T, Cols, ContiguousFwd>>
impl<'a, T, Cols: Shape> Row<Mut<'a, T, Cols, ContiguousFwd>>
Sourcepub fn as_slice_mut(self) -> &'a mut [T]
pub fn as_slice_mut(self) -> &'a mut [T]
returns a reference over the elements as a slice
Source§impl<'a, 'COLS, T> Row<Mut<'a, T, Dim<'COLS>, ContiguousFwd>>
impl<'a, 'COLS, T> Row<Mut<'a, T, Dim<'COLS>, ContiguousFwd>>
Sourcepub fn as_array_mut(self) -> &'a mut Array<'COLS, T>
pub fn as_array_mut(self) -> &'a mut Array<'COLS, T>
returns a reference over the elements as a lifetime-bound slice
Source§impl<T, Cols: Shape> Row<Own<T, Cols>>
impl<T, Cols: Shape> Row<Own<T, Cols>>
Sourcepub fn from_fn(nrows: Cols, f: impl FnMut(Idx<Cols>) -> T) -> Self
pub fn from_fn(nrows: Cols, f: impl FnMut(Idx<Cols>) -> T) -> Self
returns a new row with dimension nrows, filled with the provided function
Sourcepub fn zeros(ncols: Cols) -> Selfwhere
T: ComplexField,
pub fn zeros(ncols: Cols) -> Selfwhere
T: ComplexField,
returns a new row with dimension nrows, filled with zeros
Sourcepub fn ones(ncols: Cols) -> Selfwhere
T: ComplexField,
pub fn ones(ncols: Cols) -> Selfwhere
T: ComplexField,
returns a new row with dimension nrows, filled with ones
Sourcepub fn full(ncols: Cols, value: T) -> Selfwhere
T: Clone,
pub fn full(ncols: Cols, value: T) -> Selfwhere
T: Clone,
returns a new row with dimension nrows, filled with value
Sourcepub fn try_reserve(
&mut self,
new_row_capacity: usize,
) -> Result<(), TryReserveError>
pub fn try_reserve( &mut self, new_row_capacity: usize, ) -> Result<(), TryReserveError>
reserves the minimum capacity for col_capacity columns without reallocating, or returns an
error in case of failure. does nothing if the capacity is already sufficient
Sourcepub fn reserve(&mut self, new_row_capacity: usize)
pub fn reserve(&mut self, new_row_capacity: usize)
reserves the minimum capacity for col_capacity columns without reallocating. does nothing
if the capacity is already sufficient
Sourcepub fn resize_with(&mut self, new_nrows: Cols, f: impl FnMut(Idx<Cols>) -> T)
pub fn resize_with(&mut self, new_nrows: Cols, f: impl FnMut(Idx<Cols>) -> T)
resizes the row in-place so that the new dimension is new_ncols.
new elements are created with the given function f, so that elements at index j
are created by calling f(j)
Sourcepub fn truncate(&mut self, new_nrows: Cols)
pub fn truncate(&mut self, new_nrows: Cols)
truncates the row so that its new dimensions are new_ncols.
the new dimension must be smaller than or equal to the current dimension
§panics
the function panics if any of the following conditions are violated:
new_ncols > self.ncols()
Sourcepub fn into_col_shape<V: Shape>(self, nrows: V) -> Row<T, V>
pub fn into_col_shape<V: Shape>(self, nrows: V) -> Row<T, V>
Sourcepub fn into_diagonal(self) -> Diag<T, Cols>
pub fn into_diagonal(self) -> Diag<T, Cols>
Sourcepub fn into_transpose(self) -> Col<T, Cols>
pub fn into_transpose(self) -> Col<T, Cols>
Source§impl<T, Cols: Shape> Row<Own<T, Cols>>
impl<T, Cols: Shape> Row<Own<T, Cols>>
Sourcepub fn as_ptr(&self) -> *const T
pub fn as_ptr(&self) -> *const T
see RowRef::as_ptr
Sourcepub fn shape(&self) -> (usize, Cols)
pub fn shape(&self) -> (usize, Cols)
see RowRef::shape
Sourcepub fn col_stride(&self) -> isize
pub fn col_stride(&self) -> isize
Sourcepub fn ptr_at(&self, col: IdxInc<Cols>) -> *const T
pub fn ptr_at(&self, col: IdxInc<Cols>) -> *const T
see RowRef::ptr_at
Sourcepub unsafe fn ptr_inbounds_at(&self, col: Idx<Cols>) -> *const T
pub unsafe fn ptr_inbounds_at(&self, col: Idx<Cols>) -> *const T
Sourcepub fn split_at_col(
&self,
col: IdxInc<Cols>,
) -> (RowRef<'_, T, usize>, RowRef<'_, T, usize>)
pub fn split_at_col( &self, col: IdxInc<Cols>, ) -> (RowRef<'_, T, usize>, RowRef<'_, T, usize>)
Sourcepub fn get<ColRange>(
&self,
col: ColRange,
) -> <RowRef<'_, T, Cols> as RowIndex<ColRange>>::Target
pub fn get<ColRange>( &self, col: ColRange, ) -> <RowRef<'_, T, Cols> as RowIndex<ColRange>>::Target
see RowRef::get
Sourcepub unsafe fn get_unchecked<ColRange>(
&self,
col: ColRange,
) -> <RowRef<'_, T, Cols> as RowIndex<ColRange>>::Target
pub unsafe fn get_unchecked<ColRange>( &self, col: ColRange, ) -> <RowRef<'_, T, Cols> as RowIndex<ColRange>>::Target
Sourcepub fn reverse_cols(&self) -> RowRef<'_, T, Cols>
pub fn reverse_cols(&self) -> RowRef<'_, T, Cols>
Sourcepub fn subcols<V: Shape>(
&self,
col_start: IdxInc<Cols>,
ncols: V,
) -> RowRef<'_, T, V>
pub fn subcols<V: Shape>( &self, col_start: IdxInc<Cols>, ncols: V, ) -> RowRef<'_, T, V>
see RowRef::subcols
Sourcepub fn as_col_shape<V: Shape>(&self, ncols: V) -> RowRef<'_, T, V>
pub fn as_col_shape<V: Shape>(&self, ncols: V) -> RowRef<'_, T, V>
Sourcepub fn as_dyn_cols(&self) -> RowRef<'_, T, usize>
pub fn as_dyn_cols(&self) -> RowRef<'_, T, usize>
Sourcepub fn as_dyn_stride(&self) -> RowRef<'_, T, Cols, isize>
pub fn as_dyn_stride(&self) -> RowRef<'_, T, Cols, isize>
Sourcepub fn iter(
&self,
) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &T>
pub fn iter( &self, ) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &T>
see RowRef::iter
Sourcepub fn par_iter(&self) -> impl '_ + IndexedParallelIterator<Item = &T>where
T: Sync,
pub fn par_iter(&self) -> impl '_ + IndexedParallelIterator<Item = &T>where
T: Sync,
see RowRef::par_iter
Sourcepub fn try_as_row_major(&self) -> Option<RowRef<'_, T, Cols, ContiguousFwd>>
pub fn try_as_row_major(&self) -> Option<RowRef<'_, T, Cols, ContiguousFwd>>
Sourcepub fn as_diagonal(&self) -> DiagRef<'_, T, Cols>
pub fn as_diagonal(&self) -> DiagRef<'_, T, Cols>
Sourcepub unsafe fn const_cast(&self) -> RowMut<'_, T, Cols>
pub unsafe fn const_cast(&self) -> RowMut<'_, T, Cols>
Sourcepub fn as_mat_mut(&mut self) -> MatMut<'_, T, usize, Cols, isize>
pub fn as_mat_mut(&mut self) -> MatMut<'_, T, usize, Cols, isize>
see RowRef::as_mat
Source§impl<T, Cols: Shape> Row<Own<T, Cols>>
impl<T, Cols: Shape> Row<Own<T, Cols>>
Sourcepub fn as_ptr_mut(&mut self) -> *mut T
pub fn as_ptr_mut(&mut self) -> *mut T
Sourcepub fn ptr_at_mut(&mut self, col: IdxInc<Cols>) -> *mut T
pub fn ptr_at_mut(&mut self, col: IdxInc<Cols>) -> *mut T
Sourcepub unsafe fn ptr_inbounds_at_mut(&mut self, col: Idx<Cols>) -> *mut T
pub unsafe fn ptr_inbounds_at_mut(&mut self, col: Idx<Cols>) -> *mut T
Sourcepub fn split_at_col_mut(
&mut self,
col: IdxInc<Cols>,
) -> (RowMut<'_, T, usize>, RowMut<'_, T, usize>)
pub fn split_at_col_mut( &mut self, col: IdxInc<Cols>, ) -> (RowMut<'_, T, usize>, RowMut<'_, T, usize>)
Sourcepub fn transpose_mut(&mut self) -> ColMut<'_, T, Cols>
pub fn transpose_mut(&mut self) -> ColMut<'_, T, Cols>
Sourcepub fn conjugate_mut(&mut self) -> RowMut<'_, T::Conj, Cols>where
T: Conjugate,
pub fn conjugate_mut(&mut self) -> RowMut<'_, T::Conj, Cols>where
T: Conjugate,
Sourcepub fn canonical_mut(&mut self) -> RowMut<'_, T::Canonical, Cols>where
T: Conjugate,
pub fn canonical_mut(&mut self) -> RowMut<'_, T::Canonical, Cols>where
T: Conjugate,
Sourcepub fn adjoint_mut(&mut self) -> ColMut<'_, T::Conj, Cols>where
T: Conjugate,
pub fn adjoint_mut(&mut self) -> ColMut<'_, T::Conj, Cols>where
T: Conjugate,
Sourcepub fn get_mut<ColRange>(
&mut self,
col: ColRange,
) -> <RowMut<'_, T, Cols> as RowIndex<ColRange>>::Target
pub fn get_mut<ColRange>( &mut self, col: ColRange, ) -> <RowMut<'_, T, Cols> as RowIndex<ColRange>>::Target
see RowMut::get_mut
Sourcepub unsafe fn get_mut_unchecked<ColRange>(
&mut self,
col: ColRange,
) -> <RowMut<'_, T, Cols> as RowIndex<ColRange>>::Target
pub unsafe fn get_mut_unchecked<ColRange>( &mut self, col: ColRange, ) -> <RowMut<'_, T, Cols> as RowIndex<ColRange>>::Target
Sourcepub fn reverse_cols_mut(&mut self) -> RowMut<'_, T, Cols>
pub fn reverse_cols_mut(&mut self) -> RowMut<'_, T, Cols>
Sourcepub fn subcols_mut<V: Shape>(
&mut self,
col_start: IdxInc<Cols>,
ncols: V,
) -> RowMut<'_, T, V>
pub fn subcols_mut<V: Shape>( &mut self, col_start: IdxInc<Cols>, ncols: V, ) -> RowMut<'_, T, V>
Sourcepub fn as_col_shape_mut<V: Shape>(&mut self, ncols: V) -> RowMut<'_, T, V>
pub fn as_col_shape_mut<V: Shape>(&mut self, ncols: V) -> RowMut<'_, T, V>
Sourcepub fn as_dyn_cols_mut(&mut self) -> RowMut<'_, T, usize>
pub fn as_dyn_cols_mut(&mut self) -> RowMut<'_, T, usize>
Sourcepub fn as_dyn_stride_mut(&mut self) -> RowMut<'_, T, Cols, isize>
pub fn as_dyn_stride_mut(&mut self) -> RowMut<'_, T, Cols, isize>
Sourcepub fn iter_mut(
&mut self,
) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &mut T>
pub fn iter_mut( &mut self, ) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &mut T>
see RowMut::iter_mut
Sourcepub fn par_iter_mut(
&mut self,
) -> impl '_ + IndexedParallelIterator<Item = &mut T>where
T: Send,
pub fn par_iter_mut(
&mut self,
) -> impl '_ + IndexedParallelIterator<Item = &mut T>where
T: Send,
Sourcepub fn try_as_row_major_mut(
&mut self,
) -> Option<RowMut<'_, T, Cols, ContiguousFwd>>
pub fn try_as_row_major_mut( &mut self, ) -> Option<RowMut<'_, T, Cols, ContiguousFwd>>
Sourcepub fn as_diagonal_mut(&mut self) -> DiagMut<'_, T, Cols>
pub fn as_diagonal_mut(&mut self) -> DiagMut<'_, T, Cols>
Source§impl<'a, T, Cols: Shape, CStride: Stride> Row<Ref<'a, T, Cols, CStride>>
impl<'a, T, Cols: Shape, CStride: Stride> Row<Ref<'a, T, Cols, CStride>>
Sourcepub const unsafe fn from_raw_parts(
ptr: *const T,
ncols: Cols,
col_stride: CStride,
) -> Self
pub const unsafe fn from_raw_parts( ptr: *const T, ncols: Cols, col_stride: CStride, ) -> Self
creates a RowRef from pointers to the column vector data, number of rows, and row stride
§safety
this function has the same safety requirements as
[MatRef::from_raw_parts(ptr, 1, ncols, 0, col_stride)]
Sourcepub fn col_stride(&self) -> CStride
pub fn col_stride(&self) -> CStride
returns the column stride of the row
Sourcepub fn ptr_at(&self, col: IdxInc<Cols>) -> *const T
pub fn ptr_at(&self, col: IdxInc<Cols>) -> *const T
returns a raw pointer to the element at the given index
Sourcepub unsafe fn ptr_inbounds_at(&self, col: Idx<Cols>) -> *const T
pub unsafe fn ptr_inbounds_at(&self, col: Idx<Cols>) -> *const T
returns a raw pointer to the element at the given index, assuming the provided index is within the row bounds
§safety
the behavior is undefined if any of the following conditions are violated:
col < self.ncols()
Sourcepub fn split_at_col(
self,
col: IdxInc<Cols>,
) -> (RowRef<'a, T, usize, CStride>, RowRef<'a, T, usize, CStride>)
pub fn split_at_col( self, col: IdxInc<Cols>, ) -> (RowRef<'a, T, usize, CStride>, RowRef<'a, T, usize, CStride>)
splits the row vertically at the given column into two parts and returns an array of each subrow, in the following order:
- left
- right
§panics
the function panics if the following condition is violated:
col <= self.ncols()
Sourcepub fn transpose(self) -> ColRef<'a, T, Cols, CStride>
pub fn transpose(self) -> ColRef<'a, T, Cols, CStride>
returns a view over the transpose of self
Sourcepub fn conjugate(self) -> RowRef<'a, T::Conj, Cols, CStride>where
T: Conjugate,
pub fn conjugate(self) -> RowRef<'a, T::Conj, Cols, CStride>where
T: Conjugate,
returns a view over the conjugate of self
Sourcepub fn canonical(self) -> RowRef<'a, T::Canonical, Cols, CStride>where
T: Conjugate,
pub fn canonical(self) -> RowRef<'a, T::Canonical, Cols, CStride>where
T: Conjugate,
returns an unconjugated view over self
Sourcepub fn adjoint(self) -> ColRef<'a, T::Conj, Cols, CStride>where
T: Conjugate,
pub fn adjoint(self) -> ColRef<'a, T::Conj, Cols, CStride>where
T: Conjugate,
returns a view over the conjugate transpose of self
Sourcepub fn get<ColRange>(
self,
col: ColRange,
) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
pub fn get<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
returns a reference to the element at the given index, or a subrow if
col is a range, with bound checks
§panics
the function panics if any of the following conditions are violated:
colmust be contained in[0, self.ncols())
Sourcepub unsafe fn get_unchecked<ColRange>(
self,
col: ColRange,
) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
pub unsafe fn get_unchecked<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
returns a reference to the element at the given index, or a subrow if
col is a range, without bound checks
§panics
the behavior is undefined if any of the following conditions are violated:
colmust be contained in[0, self.ncols())
Sourcepub fn reverse_cols(self) -> RowRef<'a, T, Cols, CStride::Rev>
pub fn reverse_cols(self) -> RowRef<'a, T, Cols, CStride::Rev>
returns a view over the self, with the columns in reversed order
Sourcepub fn subcols<V: Shape>(
self,
col_start: IdxInc<Cols>,
ncols: V,
) -> RowRef<'a, T, V, CStride>
pub fn subcols<V: Shape>( self, col_start: IdxInc<Cols>, ncols: V, ) -> RowRef<'a, T, V, CStride>
returns a view over the subrow starting at column col_start, and with number of
columns ncols
§panics
the function panics if any of the following conditions are violated:
col_start <= self.ncols()ncols <= self.ncols() - col_start
Sourcepub fn as_col_shape<V: Shape>(self, ncols: V) -> RowRef<'a, T, V, CStride>
pub fn as_col_shape<V: Shape>(self, ncols: V) -> RowRef<'a, T, V, CStride>
returns the input row with the given column shape after checking that it matches the current column shape
Sourcepub fn as_dyn_cols(self) -> RowRef<'a, T, usize, CStride>
pub fn as_dyn_cols(self) -> RowRef<'a, T, usize, CStride>
returns the input row with dynamic column shape
Sourcepub fn as_dyn_stride(self) -> RowRef<'a, T, Cols, isize>
pub fn as_dyn_stride(self) -> RowRef<'a, T, Cols, isize>
returns the input row with dynamic stride
Sourcepub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Cols: 'a,
pub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Cols: 'a,
returns an iterator over the elements of the row
Sourcepub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Cols: 'a,
pub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Cols: 'a,
returns a parallel iterator over the elements of the row
Sourcepub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = RowRef<'a, T, usize, CStride>>where
T: Sync,
Cols: 'a,
pub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = RowRef<'a, T, usize, CStride>>where
T: Sync,
Cols: 'a,
returns a parallel iterator that provides exactly count successive chunks of the elements
of this row
only available with the rayon feature
Sourcepub fn try_as_row_major(self) -> Option<RowRef<'a, T, Cols, ContiguousFwd>>
pub fn try_as_row_major(self) -> Option<RowRef<'a, T, Cols, ContiguousFwd>>
returns a view over the row with a static column stride equal to +1, or None otherwise
Sourcepub fn as_mat(self) -> MatRef<'a, T, usize, Cols, isize, CStride>
pub fn as_mat(self) -> MatRef<'a, T, usize, Cols, isize, CStride>
returns a matrix view over self
Sourcepub fn as_diagonal(self) -> DiagRef<'a, T, Cols, CStride>
pub fn as_diagonal(self) -> DiagRef<'a, T, Cols, CStride>
interprets the row as a diagonal matrix
Source§impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>>> Row<Inner>
impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>>> Row<Inner>
Sourcepub fn squared_norm_l2(&self) -> Real<T>where
T: Conjugate,
pub fn squared_norm_l2(&self) -> Real<T>where
T: Conjugate,
returns the squared l2 norm of self
Sourcepub fn kron(
&self,
rhs: impl AsMatRef<T: Conjugate<Canonical = T::Canonical>>,
) -> Mat<T::Canonical>where
T: Conjugate,
pub fn kron(
&self,
rhs: impl AsMatRef<T: Conjugate<Canonical = T::Canonical>>,
) -> Mat<T::Canonical>where
T: Conjugate,
see Mat::kron
Sourcepub fn is_all_finite(&self) -> boolwhere
T: Conjugate,
pub fn is_all_finite(&self) -> boolwhere
T: Conjugate,
returns true if all of the elements of self are finite.
otherwise returns false.
Sourcepub fn has_nan(&self) -> boolwhere
T: Conjugate,
pub fn has_nan(&self) -> boolwhere
T: Conjugate,
returns true if any of the elements of self is NaN.
otherwise returns false.
Source§impl<Inner> Row<Inner>
impl<Inner> Row<Inner>
Sourcepub fn from_inner_ref(inner: &Inner) -> &Self
pub fn from_inner_ref(inner: &Inner) -> &Self
wrap by reference
Sourcepub fn from_inner_mut(inner: &mut Inner) -> &mut Self
pub fn from_inner_mut(inner: &mut Inner) -> &mut Self
wrap by mutable reference
Trait Implementations§
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<&Row<R>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<&Row<R>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<&Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<&Row<R>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<Row<R>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<Row<R>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<Row<R>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> AddAssign<&Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> AddAssign<&Row<R>> for Row<L>
Source§fn add_assign(&mut self, rhs: &Row<R>)
fn add_assign(&mut self, rhs: &Row<R>)
+= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> AddAssign<Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> AddAssign<Row<R>> for Row<L>
Source§fn add_assign(&mut self, rhs: Row<R>)
fn add_assign(&mut self, rhs: Row<R>)
+= operation. Read moreSource§impl<T, Cols: Shape, D: Distribution<T>> Distribution<Row<Own<T, Cols>>> for CwiseRowDistribution<Cols, D>
impl<T, Cols: Shape, D: Distribution<T>> Distribution<Row<Own<T, Cols>>> for CwiseRowDistribution<Cols, D>
Source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Row<T, Cols>
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Row<T, Cols>
T, using rng as the source of randomness.Source§fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
T, using rng as
the source of randomness. Read moreSource§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&Scale<T>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&Scale<T>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&Scale<T>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&f64> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&f64> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&f64> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<Scale<T>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<Scale<T>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<Scale<T>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<f64> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<f64> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<f64> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&Scale<T>> for Row<L>
Source§fn div_assign(&mut self, rhs: &Scale<T>)
fn div_assign(&mut self, rhs: &Scale<T>)
/= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&f64> for Row<L>
Source§fn div_assign(&mut self, rhs: &f64)
fn div_assign(&mut self, rhs: &f64)
/= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<Scale<T>> for Row<L>
Source§fn div_assign(&mut self, rhs: Scale<T>)
fn div_assign(&mut self, rhs: Scale<T>)
/= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<f64> for Row<L>
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/= operation. Read moreSource§impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>>> Index<<Cols as ShapeIdx>::Idx<usize>> for Row<Inner>
impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>>> Index<<Cols as ShapeIdx>::Idx<usize>> for Row<Inner>
Source§impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Cols, CStride>>> IndexMut<<Cols as ShapeIdx>::Idx<usize>> for Row<Inner>
impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Cols, CStride>>> IndexMut<<Cols as ShapeIdx>::Idx<usize>> for Row<Inner>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for &Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for &Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Row<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for &Row<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for &Row<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for Row<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<&Perm<R>> for &Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<&Perm<R>> for &Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<&Perm<R>> for Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<&Perm<R>> for Row<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &Col<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &Col<L>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &Scale<T>
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &Scale<T>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &f64
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &f64
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for Col<L>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for Scale<T>
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for Scale<T>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for f64
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for f64
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&Scale<T>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&Scale<T>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&Scale<T>> for Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseColMat<R>> for &Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseColMat<R>> for &Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseColMat<R>> for Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseColMat<R>> for Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseRowMat<R>> for &Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseRowMat<R>> for &Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseRowMat<R>> for Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseRowMat<R>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&f64> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&f64> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&f64> for Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for &Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for &Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Row<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Row<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Row<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<Mat<R>> for &Row<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<Mat<R>> for &Row<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<Mat<R>> for Row<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<Mat<R>> for Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<Perm<R>> for &Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<Perm<R>> for &Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<Perm<R>> for Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<Perm<R>> for Row<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &Col<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &Col<L>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &Scale<T>
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &Scale<T>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &f64
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &f64
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for Col<L>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for Scale<T>
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for Scale<T>
Source§impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for f64
impl<T: ComplexField, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for f64
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<Scale<T>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<Scale<T>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<Scale<T>> for Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseColMat<R>> for &Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseColMat<R>> for &Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseColMat<R>> for Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseColMat<R>> for Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseRowMat<R>> for &Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseRowMat<R>> for &Row<L>
Source§impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseRowMat<R>> for Row<L>
impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseRowMat<R>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<f64> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<f64> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<f64> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&Scale<T>> for Row<L>
Source§fn mul_assign(&mut self, rhs: &Scale<T>)
fn mul_assign(&mut self, rhs: &Scale<T>)
*= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&f64> for Row<L>
Source§fn mul_assign(&mut self, rhs: &f64)
fn mul_assign(&mut self, rhs: &f64)
*= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<Scale<T>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<Scale<T>> for Row<L>
Source§fn mul_assign(&mut self, rhs: Scale<T>)
fn mul_assign(&mut self, rhs: Scale<T>)
*= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<f64> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<f64> for Row<L>
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*= operation. Read moreSource§impl<T: Conjugate, Cols: Shape, CStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Cols, CStride>>> Neg for &Row<Inner>
impl<T: Conjugate, Cols: Shape, CStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Cols, CStride>>> Neg for &Row<Inner>
Source§impl<T: Conjugate, Cols: Shape, CStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Cols, CStride>>> Neg for Row<Inner>
impl<T: Conjugate, Cols: Shape, CStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Cols, CStride>>> Neg for Row<Inner>
Source§impl<LT: PartialEq<RT>, LCols: Shape, LCStride: Stride, RT, RCols: Shape, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LCols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RCols, RCStride>>> PartialEq<Row<R>> for Row<L>
impl<LT: PartialEq<RT>, LCols: Shape, LCStride: Stride, RT, RCols: Shape, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LCols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RCols, RCStride>>> PartialEq<Row<R>> for Row<L>
Source§impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Row<Inner>
impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Row<Inner>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<&Row<R>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<&Row<R>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<&Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<&Row<R>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<Row<R>> for &Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<Row<R>> for &Row<L>
Source§impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<Row<R>> for Row<L>
Source§impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> SubAssign<&Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> SubAssign<&Row<R>> for Row<L>
Source§fn sub_assign(&mut self, rhs: &Row<R>)
fn sub_assign(&mut self, rhs: &Row<R>)
-= operation. Read moreSource§impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> SubAssign<Row<R>> for Row<L>
impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> SubAssign<Row<R>> for Row<L>
Source§fn sub_assign(&mut self, rhs: Row<R>)
fn sub_assign(&mut self, rhs: Row<R>)
-= operation. Read moreimpl<Inner: Copy> Copy for Row<Inner>
Auto Trait Implementations§
impl<Inner> Freeze for Row<Inner>where
Inner: Freeze,
impl<Inner> RefUnwindSafe for Row<Inner>where
Inner: RefUnwindSafe,
impl<Inner> Send for Row<Inner>where
Inner: Send,
impl<Inner> Sync for Row<Inner>where
Inner: Sync,
impl<Inner> Unpin for Row<Inner>where
Inner: Unpin,
impl<Inner> UnwindSafe for Row<Inner>where
Inner: 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more