#[repr(transparent)]pub struct Col<Inner>(pub Inner);Expand description
generic Col wrapper
Tuple Fields§
§0: InnerImplementations§
Source§impl<'a, T, Rows: Shape, RStride: Stride> Col<Mut<'a, T, Rows, RStride>>
impl<'a, T, Rows: Shape, RStride: Stride> Col<Mut<'a, T, Rows, RStride>>
Sourcepub const unsafe fn from_raw_parts_mut(
ptr: *mut T,
nrows: Rows,
row_stride: RStride,
) -> Self
pub const unsafe fn from_raw_parts_mut( ptr: *mut T, nrows: Rows, row_stride: RStride, ) -> Self
creates a ColMut 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(ptr, nrows, 1, row_stride, 0)]
Sourcepub fn row_stride(&self) -> RStride
pub fn row_stride(&self) -> RStride
returns the row stride of the column, specified in number of elements, not in bytes
Sourcepub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T
pub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T
returns a raw pointer to the element at the given index
Sourcepub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T
pub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T
returns a raw pointer to the element at the given index, assuming the provided index is within the column bounds
§safety
the behavior is undefined if any of the following conditions are violated:
row < self.nrows()
Sourcepub fn split_at_row(
self,
row: IdxInc<Rows>,
) -> (ColRef<'a, T, usize, RStride>, ColRef<'a, T, usize, RStride>)
pub fn split_at_row( self, row: IdxInc<Rows>, ) -> (ColRef<'a, T, usize, RStride>, ColRef<'a, T, usize, RStride>)
Sourcepub fn adjoint(self) -> RowRef<'a, T::Conj, Rows, RStride>where
T: Conjugate,
pub fn adjoint(self) -> RowRef<'a, T::Conj, Rows, RStride>where
T: Conjugate,
see ColRef::adjoint
Sourcepub fn get<RowRange>(
self,
row: RowRange,
) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
pub fn get<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
see ColRef::get
Sourcepub unsafe fn get_unchecked<RowRange>(
self,
row: RowRange,
) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
pub unsafe fn get_unchecked<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
Sourcepub fn reverse_rows(self) -> ColRef<'a, T, Rows, RStride::Rev>
pub fn reverse_rows(self) -> ColRef<'a, T, Rows, RStride::Rev>
Sourcepub fn subrows<V: Shape>(
self,
row_start: IdxInc<Rows>,
nrows: V,
) -> ColRef<'a, T, V, RStride>
pub fn subrows<V: Shape>( self, row_start: IdxInc<Rows>, nrows: V, ) -> ColRef<'a, T, V, RStride>
see ColRef::subrows
Sourcepub fn as_row_shape<V: Shape>(self, nrows: V) -> ColRef<'a, T, V, RStride>
pub fn as_row_shape<V: Shape>(self, nrows: V) -> ColRef<'a, T, V, RStride>
Sourcepub fn as_dyn_rows(self) -> ColRef<'a, T, usize, RStride>
pub fn as_dyn_rows(self) -> ColRef<'a, T, usize, RStride>
Sourcepub fn as_dyn_stride(self) -> ColRef<'a, T, Rows, isize>
pub fn as_dyn_stride(self) -> ColRef<'a, T, Rows, isize>
Sourcepub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Rows: 'a,
pub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Rows: 'a,
see ColRef::iter
Sourcepub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Rows: 'a,
pub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Rows: 'a,
see ColRef::par_iter
Sourcepub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = ColRef<'a, T, usize, RStride>>where
T: Sync,
Rows: 'a,
pub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = ColRef<'a, T, usize, RStride>>where
T: Sync,
Rows: 'a,
Sourcepub fn try_as_col_major(self) -> Option<ColRef<'a, T, Rows, ContiguousFwd>>
pub fn try_as_col_major(self) -> Option<ColRef<'a, T, Rows, ContiguousFwd>>
Sourcepub fn try_as_col_major_mut(self) -> Option<ColMut<'a, T, Rows, ContiguousFwd>>
pub fn try_as_col_major_mut(self) -> Option<ColMut<'a, T, Rows, ContiguousFwd>>
Sourcepub fn as_mat_mut(self) -> MatMut<'a, T, Rows, usize, RStride, isize>
pub fn as_mat_mut(self) -> MatMut<'a, T, Rows, usize, RStride, isize>
see ColRef::as_mat
Sourcepub fn as_diagonal(self) -> DiagRef<'a, T, Rows, RStride>
pub fn as_diagonal(self) -> DiagRef<'a, T, Rows, RStride>
Source§impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> ReborrowMut<'short, Target = Mut<'short, T, Rows, RStride>>> Col<Inner>
impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> ReborrowMut<'short, Target = Mut<'short, T, Rows, RStride>>> Col<Inner>
Sourcepub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
other: impl AsColRef<T = RhsT, Rows = Rows>,
)where
T: ComplexField,
pub fn copy_from<RhsT: Conjugate<Canonical = T>>(
&mut self,
other: impl AsColRef<T = RhsT, Rows = Rows>,
)where
T: ComplexField,
copies other into self
Source§impl<'a, T, Rows: Shape, RStride: Stride> Col<Mut<'a, T, Rows, RStride>>
impl<'a, T, Rows: Shape, RStride: Stride> Col<Mut<'a, T, Rows, RStride>>
Sourcepub fn as_ptr_mut(&self) -> *mut T
pub fn as_ptr_mut(&self) -> *mut T
see ColRef::as_ptr
Sourcepub fn ptr_at_mut(&self, row: IdxInc<Rows>) -> *mut T
pub fn ptr_at_mut(&self, row: IdxInc<Rows>) -> *mut T
see ColRef::ptr_at
Sourcepub unsafe fn ptr_inbounds_at_mut(&self, row: Idx<Rows>) -> *mut T
pub unsafe fn ptr_inbounds_at_mut(&self, row: Idx<Rows>) -> *mut T
Sourcepub fn split_at_row_mut(
self,
row: IdxInc<Rows>,
) -> (ColMut<'a, T, usize, RStride>, ColMut<'a, T, usize, RStride>)
pub fn split_at_row_mut( self, row: IdxInc<Rows>, ) -> (ColMut<'a, T, usize, RStride>, ColMut<'a, T, usize, RStride>)
Sourcepub fn transpose_mut(self) -> RowMut<'a, T, Rows, RStride>
pub fn transpose_mut(self) -> RowMut<'a, T, Rows, RStride>
Sourcepub fn conjugate_mut(self) -> ColMut<'a, T::Conj, Rows, RStride>where
T: Conjugate,
pub fn conjugate_mut(self) -> ColMut<'a, T::Conj, Rows, RStride>where
T: Conjugate,
Sourcepub fn canonical_mut(self) -> ColMut<'a, T::Canonical, Rows, RStride>where
T: Conjugate,
pub fn canonical_mut(self) -> ColMut<'a, T::Canonical, Rows, RStride>where
T: Conjugate,
Sourcepub fn adjoint_mut(self) -> RowMut<'a, T::Conj, Rows, RStride>where
T: Conjugate,
pub fn adjoint_mut(self) -> RowMut<'a, T::Conj, Rows, RStride>where
T: Conjugate,
see ColRef::adjoint
Sourcepub fn get_mut<RowRange>(
self,
row: RowRange,
) -> <ColMut<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
pub fn get_mut<RowRange>( self, row: RowRange, ) -> <ColMut<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
see ColRef::get
Sourcepub unsafe fn get_mut_unchecked<RowRange>(
self,
row: RowRange,
) -> <ColMut<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
pub unsafe fn get_mut_unchecked<RowRange>( self, row: RowRange, ) -> <ColMut<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
Sourcepub fn reverse_rows_mut(self) -> ColMut<'a, T, Rows, RStride::Rev>
pub fn reverse_rows_mut(self) -> ColMut<'a, T, Rows, RStride::Rev>
Sourcepub fn subrows_mut<V: Shape>(
self,
row_start: IdxInc<Rows>,
nrows: V,
) -> ColMut<'a, T, V, RStride>
pub fn subrows_mut<V: Shape>( self, row_start: IdxInc<Rows>, nrows: V, ) -> ColMut<'a, T, V, RStride>
see ColRef::subrows
Sourcepub fn as_row_shape_mut<V: Shape>(self, nrows: V) -> ColMut<'a, T, V, RStride>
pub fn as_row_shape_mut<V: Shape>(self, nrows: V) -> ColMut<'a, T, V, RStride>
Sourcepub fn as_dyn_rows_mut(self) -> ColMut<'a, T, usize, RStride>
pub fn as_dyn_rows_mut(self) -> ColMut<'a, T, usize, RStride>
Sourcepub fn as_dyn_stride_mut(self) -> ColMut<'a, T, Rows, isize>
pub fn as_dyn_stride_mut(self) -> ColMut<'a, T, Rows, isize>
Sourcepub fn iter_mut(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a mut T>where
Rows: 'a,
pub fn iter_mut(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a mut T>where
Rows: 'a,
see ColRef::iter
Sourcepub fn par_iter_mut(self) -> impl 'a + IndexedParallelIterator<Item = &'a mut T>where
T: Send,
Rows: 'a,
pub fn par_iter_mut(self) -> impl 'a + IndexedParallelIterator<Item = &'a mut T>where
T: Send,
Rows: 'a,
see ColRef::par_iter
Sourcepub fn par_partition_mut(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = ColMut<'a, T, usize, RStride>>where
T: Send,
Rows: 'a,
pub fn par_partition_mut(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = ColMut<'a, T, usize, RStride>>where
T: Send,
Rows: 'a,
Sourcepub fn as_diagonal_mut(self) -> DiagMut<'a, T, Rows, RStride>
pub fn as_diagonal_mut(self) -> DiagMut<'a, T, Rows, RStride>
Source§impl<'a, T, Rows: Shape> Col<Mut<'a, T, Rows, ContiguousFwd>>
impl<'a, T, Rows: Shape> Col<Mut<'a, T, Rows, 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, 'ROWS, T> Col<Mut<'a, T, Dim<'ROWS>, ContiguousFwd>>
impl<'a, 'ROWS, T> Col<Mut<'a, T, Dim<'ROWS>, ContiguousFwd>>
Sourcepub fn as_array_mut(self) -> &'a mut Array<'ROWS, T>
pub fn as_array_mut(self) -> &'a mut Array<'ROWS, T>
returns a reference over the elements as a lifetime-bound slice
Source§impl<T, Rows: Shape> Col<Own<T, Rows>>
impl<T, Rows: Shape> Col<Own<T, Rows>>
Sourcepub fn from_fn(nrows: Rows, f: impl FnMut(Idx<Rows>) -> T) -> Self
pub fn from_fn(nrows: Rows, f: impl FnMut(Idx<Rows>) -> T) -> Self
returns a new column with dimension nrows, filled with the provided function
Sourcepub fn zeros(nrows: Rows) -> Selfwhere
T: ComplexField,
pub fn zeros(nrows: Rows) -> Selfwhere
T: ComplexField,
returns a new column with dimension nrows, filled with zeros
Sourcepub fn ones(nrows: Rows) -> Selfwhere
T: ComplexField,
pub fn ones(nrows: Rows) -> Selfwhere
T: ComplexField,
returns a new column with dimension nrows, filled with ones
Sourcepub fn full(nrows: Rows, value: T) -> Selfwhere
T: Clone,
pub fn full(nrows: Rows, value: T) -> Selfwhere
T: Clone,
returns a new column 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 row_capacity rows 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 row_capacity rows without reallocating. does nothing if
the capacity is already sufficient
Sourcepub fn resize_with(&mut self, new_nrows: Rows, f: impl FnMut(Idx<Rows>) -> T)
pub fn resize_with(&mut self, new_nrows: Rows, f: impl FnMut(Idx<Rows>) -> T)
resizes the column in-place so that the new dimension is new_nrows.
new elements are created with the given function f, so that elements at index i
are created by calling f(i)
Sourcepub fn truncate(&mut self, new_nrows: Rows)
pub fn truncate(&mut self, new_nrows: Rows)
truncates the column so that its new dimensions are new_nrows.
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_nrows > self.nrows()
Sourcepub fn into_row_shape<V: Shape>(self, nrows: V) -> Col<T, V>
pub fn into_row_shape<V: Shape>(self, nrows: V) -> Col<T, V>
Sourcepub fn into_diagonal(self) -> Diag<T, Rows>
pub fn into_diagonal(self) -> Diag<T, Rows>
Sourcepub fn into_transpose(self) -> Row<T, Rows>
pub fn into_transpose(self) -> Row<T, Rows>
Source§impl<T, Rows: Shape> Col<Own<T, Rows>>
impl<T, Rows: Shape> Col<Own<T, Rows>>
Sourcepub fn as_ptr(&self) -> *const T
pub fn as_ptr(&self) -> *const T
see ColRef::as_ptr
Sourcepub fn shape(&self) -> (Rows, usize)
pub fn shape(&self) -> (Rows, usize)
see ColRef::shape
Sourcepub fn row_stride(&self) -> isize
pub fn row_stride(&self) -> isize
Sourcepub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T
pub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T
see ColRef::ptr_at
Sourcepub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T
pub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T
Sourcepub fn split_at_row(
&self,
row: IdxInc<Rows>,
) -> (ColRef<'_, T, usize>, ColRef<'_, T, usize>)
pub fn split_at_row( &self, row: IdxInc<Rows>, ) -> (ColRef<'_, T, usize>, ColRef<'_, T, usize>)
Sourcepub fn get<RowRange>(
&self,
row: RowRange,
) -> <ColRef<'_, T, Rows> as ColIndex<RowRange>>::Target
pub fn get<RowRange>( &self, row: RowRange, ) -> <ColRef<'_, T, Rows> as ColIndex<RowRange>>::Target
see ColRef::get
Sourcepub unsafe fn get_unchecked<RowRange>(
&self,
row: RowRange,
) -> <ColRef<'_, T, Rows> as ColIndex<RowRange>>::Target
pub unsafe fn get_unchecked<RowRange>( &self, row: RowRange, ) -> <ColRef<'_, T, Rows> as ColIndex<RowRange>>::Target
Sourcepub fn reverse_rows(&self) -> ColRef<'_, T, Rows>
pub fn reverse_rows(&self) -> ColRef<'_, T, Rows>
Sourcepub fn subrows<V: Shape>(
&self,
row_start: IdxInc<Rows>,
nrows: V,
) -> ColRef<'_, T, V>
pub fn subrows<V: Shape>( &self, row_start: IdxInc<Rows>, nrows: V, ) -> ColRef<'_, T, V>
see ColRef::subrows
Sourcepub fn as_row_shape<V: Shape>(&self, nrows: V) -> ColRef<'_, T, V>
pub fn as_row_shape<V: Shape>(&self, nrows: V) -> ColRef<'_, T, V>
Sourcepub fn as_dyn_rows(&self) -> ColRef<'_, T, usize>
pub fn as_dyn_rows(&self) -> ColRef<'_, T, usize>
Sourcepub fn as_dyn_stride(&self) -> ColRef<'_, T, Rows, isize>
pub fn as_dyn_stride(&self) -> ColRef<'_, T, Rows, isize>
Sourcepub fn iter(
&self,
) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &T>
pub fn iter( &self, ) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &T>
see ColRef::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 ColRef::par_iter
Sourcepub fn par_partition(
&self,
count: usize,
) -> impl '_ + IndexedParallelIterator<Item = ColRef<'_, T, usize>>where
T: Sync,
pub fn par_partition(
&self,
count: usize,
) -> impl '_ + IndexedParallelIterator<Item = ColRef<'_, T, usize>>where
T: Sync,
Sourcepub fn try_as_col_major(&self) -> Option<ColRef<'_, T, Rows, ContiguousFwd>>
pub fn try_as_col_major(&self) -> Option<ColRef<'_, T, Rows, ContiguousFwd>>
Sourcepub fn try_as_col_major_mut(
&mut self,
) -> Option<ColMut<'_, T, Rows, ContiguousFwd>>
pub fn try_as_col_major_mut( &mut self, ) -> Option<ColMut<'_, T, Rows, ContiguousFwd>>
Sourcepub fn as_mat_mut(&mut self) -> MatMut<'_, T, Rows, usize, isize>
pub fn as_mat_mut(&mut self) -> MatMut<'_, T, Rows, usize, isize>
see ColRef::as_mat
Sourcepub fn as_diagonal(&self) -> DiagRef<'_, T, Rows>
pub fn as_diagonal(&self) -> DiagRef<'_, T, Rows>
Source§impl<T, Rows: Shape> Col<Own<T, Rows>>
impl<T, Rows: Shape> Col<Own<T, Rows>>
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, row: IdxInc<Rows>) -> *mut T
pub fn ptr_at_mut(&mut self, row: IdxInc<Rows>) -> *mut T
Sourcepub unsafe fn ptr_inbounds_at_mut(&mut self, row: Idx<Rows>) -> *mut T
pub unsafe fn ptr_inbounds_at_mut(&mut self, row: Idx<Rows>) -> *mut T
Sourcepub fn split_at_row_mut(
&mut self,
row: IdxInc<Rows>,
) -> (ColMut<'_, T, usize>, ColMut<'_, T, usize>)
pub fn split_at_row_mut( &mut self, row: IdxInc<Rows>, ) -> (ColMut<'_, T, usize>, ColMut<'_, T, usize>)
Sourcepub fn transpose_mut(&mut self) -> RowMut<'_, T, Rows>
pub fn transpose_mut(&mut self) -> RowMut<'_, T, Rows>
Sourcepub fn conjugate_mut(&mut self) -> ColMut<'_, T::Conj, Rows>where
T: Conjugate,
pub fn conjugate_mut(&mut self) -> ColMut<'_, T::Conj, Rows>where
T: Conjugate,
Sourcepub fn canonical_mut(&mut self) -> ColMut<'_, T::Canonical, Rows>where
T: Conjugate,
pub fn canonical_mut(&mut self) -> ColMut<'_, T::Canonical, Rows>where
T: Conjugate,
Sourcepub fn adjoint_mut(&mut self) -> RowMut<'_, T::Conj, Rows>where
T: Conjugate,
pub fn adjoint_mut(&mut self) -> RowMut<'_, T::Conj, Rows>where
T: Conjugate,
Sourcepub fn get_mut<RowRange>(
&mut self,
row: RowRange,
) -> <ColMut<'_, T, Rows> as ColIndex<RowRange>>::Target
pub fn get_mut<RowRange>( &mut self, row: RowRange, ) -> <ColMut<'_, T, Rows> as ColIndex<RowRange>>::Target
see ColMut::get_mut
Sourcepub unsafe fn get_mut_unchecked<RowRange>(
&mut self,
row: RowRange,
) -> <ColMut<'_, T, Rows> as ColIndex<RowRange>>::Target
pub unsafe fn get_mut_unchecked<RowRange>( &mut self, row: RowRange, ) -> <ColMut<'_, T, Rows> as ColIndex<RowRange>>::Target
Sourcepub fn reverse_rows_mut(&mut self) -> ColMut<'_, T, Rows>
pub fn reverse_rows_mut(&mut self) -> ColMut<'_, T, Rows>
Sourcepub fn subrows_mut<V: Shape>(
&mut self,
row_start: IdxInc<Rows>,
nrows: V,
) -> ColMut<'_, T, V>
pub fn subrows_mut<V: Shape>( &mut self, row_start: IdxInc<Rows>, nrows: V, ) -> ColMut<'_, T, V>
Sourcepub fn as_row_shape_mut<V: Shape>(&mut self, nrows: V) -> ColMut<'_, T, V>
pub fn as_row_shape_mut<V: Shape>(&mut self, nrows: V) -> ColMut<'_, T, V>
Sourcepub fn as_dyn_rows_mut(&mut self) -> ColMut<'_, T, usize>
pub fn as_dyn_rows_mut(&mut self) -> ColMut<'_, T, usize>
Sourcepub fn as_dyn_stride_mut(&mut self) -> ColMut<'_, T, Rows, isize>
pub fn as_dyn_stride_mut(&mut self) -> ColMut<'_, T, Rows, 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 ColMut::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 par_partition_mut(
&mut self,
count: usize,
) -> impl '_ + IndexedParallelIterator<Item = ColMut<'_, T, usize>>where
T: Send,
pub fn par_partition_mut(
&mut self,
count: usize,
) -> impl '_ + IndexedParallelIterator<Item = ColMut<'_, T, usize>>where
T: Send,
Sourcepub fn as_diagonal_mut(&mut self) -> DiagMut<'_, T, Rows>
pub fn as_diagonal_mut(&mut self) -> DiagMut<'_, T, Rows>
Source§impl<'a, T, Rows: Shape, RStride: Stride> Col<Ref<'a, T, Rows, RStride>>
impl<'a, T, Rows: Shape, RStride: Stride> Col<Ref<'a, T, Rows, RStride>>
Sourcepub const unsafe fn from_raw_parts(
ptr: *const T,
nrows: Rows,
row_stride: RStride,
) -> Self
pub const unsafe fn from_raw_parts( ptr: *const T, nrows: Rows, row_stride: RStride, ) -> Self
creates a ColRef 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, nrows, 1, row_stride, 0)]
Sourcepub fn row_stride(&self) -> RStride
pub fn row_stride(&self) -> RStride
returns the row stride of the column, specified in number of elements, not in bytes
Sourcepub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T
pub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T
returns a raw pointer to the element at the given index
Sourcepub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T
pub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T
returns a raw pointer to the element at the given index, assuming the provided index is within the column bounds
§safety
the behavior is undefined if any of the following conditions are violated:
row < self.nrows()
Sourcepub fn split_at_row(
self,
row: IdxInc<Rows>,
) -> (ColRef<'a, T, usize, RStride>, ColRef<'a, T, usize, RStride>)
pub fn split_at_row( self, row: IdxInc<Rows>, ) -> (ColRef<'a, T, usize, RStride>, ColRef<'a, T, usize, RStride>)
splits the column horizontally at the given row into two parts and returns an array of each submatrix, in the following order:
- top
- bottom
§panics
the function panics if the following condition is violated:
row <= self.nrows()
Sourcepub fn transpose(self) -> RowRef<'a, T, Rows, RStride>
pub fn transpose(self) -> RowRef<'a, T, Rows, RStride>
returns a view over the transpose of self
Sourcepub fn conjugate(self) -> ColRef<'a, T::Conj, Rows, RStride>where
T: Conjugate,
pub fn conjugate(self) -> ColRef<'a, T::Conj, Rows, RStride>where
T: Conjugate,
returns a view over the conjugate of self
Sourcepub fn canonical(self) -> ColRef<'a, T::Canonical, Rows, RStride>where
T: Conjugate,
pub fn canonical(self) -> ColRef<'a, T::Canonical, Rows, RStride>where
T: Conjugate,
returns an unconjugated view over self
Sourcepub fn adjoint(self) -> RowRef<'a, T::Conj, Rows, RStride>where
T: Conjugate,
pub fn adjoint(self) -> RowRef<'a, T::Conj, Rows, RStride>where
T: Conjugate,
returns a view over the conjugate transpose of self
Sourcepub fn get<RowRange>(
self,
row: RowRange,
) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
pub fn get<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
returns a reference to the element at the given index, or a subcolumn if row is a range
§panics
the function panics if any of the following conditions are violated:
rowmust be contained in[0, self.nrows())
Sourcepub unsafe fn get_unchecked<RowRange>(
self,
row: RowRange,
) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
pub unsafe fn get_unchecked<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
returns a reference to the element at the given index, or a subcolumn if row is a range,
without bound checks
§safety
the behavior is undefined if any of the following conditions are violated:
rowmust be contained in[0, self.nrows())
Sourcepub fn reverse_rows(self) -> ColRef<'a, T, Rows, RStride::Rev>
pub fn reverse_rows(self) -> ColRef<'a, T, Rows, RStride::Rev>
returns a view over the self, with the rows in reversed order
Sourcepub fn subrows<V: Shape>(
self,
row_start: IdxInc<Rows>,
nrows: V,
) -> ColRef<'a, T, V, RStride>
pub fn subrows<V: Shape>( self, row_start: IdxInc<Rows>, nrows: V, ) -> ColRef<'a, T, V, RStride>
returns a view over the column starting at row row_start, and with number of rows
nrows
§panics
the function panics if any of the following conditions are violated:
row_start <= self.nrows()nrows <= self.nrows() - row_start
Sourcepub fn as_row_shape<V: Shape>(self, nrows: V) -> ColRef<'a, T, V, RStride>
pub fn as_row_shape<V: Shape>(self, nrows: V) -> ColRef<'a, T, V, RStride>
returns the input column with the given row shape after checking that it matches the current row shape
Sourcepub fn as_dyn_rows(self) -> ColRef<'a, T, usize, RStride>
pub fn as_dyn_rows(self) -> ColRef<'a, T, usize, RStride>
returns the input column with dynamic row shape
Sourcepub fn as_dyn_stride(self) -> ColRef<'a, T, Rows, isize>
pub fn as_dyn_stride(self) -> ColRef<'a, T, Rows, isize>
returns the input column with dynamic stride
Sourcepub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Rows: 'a,
pub fn iter(
self,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>where
Rows: 'a,
returns an iterator over the elements of the column
Sourcepub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Rows: 'a,
pub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>where
T: Sync,
Rows: 'a,
returns a parallel iterator over the elements of the column
Sourcepub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = ColRef<'a, T, usize, RStride>>where
T: Sync,
Rows: 'a,
pub fn par_partition(
self,
count: usize,
) -> impl 'a + IndexedParallelIterator<Item = ColRef<'a, T, usize, RStride>>where
T: Sync,
Rows: 'a,
returns a parallel iterator that provides exactly count successive chunks of the elements
of this column
only available with the rayon feature
Sourcepub fn try_as_col_major(self) -> Option<ColRef<'a, T, Rows, ContiguousFwd>>
pub fn try_as_col_major(self) -> Option<ColRef<'a, T, Rows, ContiguousFwd>>
returns a view over the column with a static row stride equal to +1, or None otherwise
Sourcepub fn as_mat(self) -> MatRef<'a, T, Rows, usize, RStride, isize>
pub fn as_mat(self) -> MatRef<'a, T, Rows, usize, RStride, isize>
returns a matrix view over self
Sourcepub fn as_diagonal(self) -> DiagRef<'a, T, Rows, RStride>
pub fn as_diagonal(self) -> DiagRef<'a, T, Rows, RStride>
interprets the column as a diagonal matrix
Source§impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Rows, RStride>>> Col<Inner>
impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Rows, RStride>>> Col<Inner>
Sourcepub fn cloned(&self) -> Col<T, Rows>where
T: Clone,
pub fn cloned(&self) -> Col<T, Rows>where
T: Clone,
returns a newly allocated column holding the cloned values of self
Sourcepub fn to_owned(&self) -> Col<T::Canonical, Rows>where
T: Conjugate,
pub fn to_owned(&self) -> Col<T::Canonical, Rows>where
T: Conjugate,
returns a newly allocated column holding the (possibly conjugated) values of self
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.
Source§impl<Inner> Col<Inner>
impl<Inner> Col<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, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<&Col<R>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<&Col<R>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<&Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<&Col<R>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<Col<R>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<Col<R>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Add<Col<R>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> AddAssign<&Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> AddAssign<&Col<R>> for Col<L>
Source§fn add_assign(&mut self, rhs: &Col<R>)
fn add_assign(&mut self, rhs: &Col<R>)
+= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> AddAssign<Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> AddAssign<Col<R>> for Col<L>
Source§fn add_assign(&mut self, rhs: Col<R>)
fn add_assign(&mut self, rhs: Col<R>)
+= operation. Read moreSource§impl<T, Rows: Shape, D: Distribution<T>> Distribution<Col<Own<T, Rows>>> for CwiseColDistribution<Rows, D>
impl<T, Rows: Shape, D: Distribution<T>> Distribution<Col<Own<T, Rows>>> for CwiseColDistribution<Rows, D>
Source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Col<T, Rows>
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Col<T, Rows>
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, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&Scale<T>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&Scale<T>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&Scale<T>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&f64> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&f64> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<&f64> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<Scale<T>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<Scale<T>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<Scale<T>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<f64> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<f64> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Div<f64> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<&Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<&Scale<T>> for Col<L>
Source§fn div_assign(&mut self, rhs: &Scale<T>)
fn div_assign(&mut self, rhs: &Scale<T>)
/= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<&f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<&f64> for Col<L>
Source§fn div_assign(&mut self, rhs: &f64)
fn div_assign(&mut self, rhs: &f64)
/= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<Scale<T>> for Col<L>
Source§fn div_assign(&mut self, rhs: Scale<T>)
fn div_assign(&mut self, rhs: Scale<T>)
/= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> DivAssign<f64> for Col<L>
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/= operation. Read moreSource§impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Rows, RStride>>> Index<<Rows as ShapeIdx>::Idx<usize>> for Col<Inner>
impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Rows, RStride>>> Index<<Rows as ShapeIdx>::Idx<usize>> for Col<Inner>
Source§impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Rows, RStride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Rows, RStride>>> IndexMut<<Rows as ShapeIdx>::Idx<usize>> for Col<Inner>
impl<T, Rows: Shape, RStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Rows, RStride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Rows, RStride>>> IndexMut<<Rows as ShapeIdx>::Idx<usize>> for Col<Inner>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for &Diag<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<&Col<R>> for &Mat<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<&Col<R>> for &Mat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for &Perm<L>
impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for &Perm<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, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for &Scale<T>
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for &Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for &SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for &SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for &SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for &SparseRowMat<L>
Source§impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for &f64
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for &f64
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<&Col<R>> for Diag<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<&Col<R>> for Mat<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<&Col<R>> for Mat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for Perm<L>
impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for Perm<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, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for Scale<T>
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<&Col<R>> for SparseRowMat<L>
Source§impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<R>> for f64
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<&Col<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, 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, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&Scale<T>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&Scale<T>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&Scale<T>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&f64> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&f64> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<&f64> for Col<L>
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for &Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for &Diag<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<Col<R>> for &Mat<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<Col<R>> for &Mat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for &Perm<L>
impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for &Perm<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, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for &Scale<T>
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for &Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for &SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for &SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for &SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for &SparseRowMat<L>
Source§impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for &f64
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for &f64
Source§impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for Diag<L>
impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RRStride>>> Mul<Col<R>> for Diag<L>
Source§impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<Col<R>> for Mat<L>
impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Cols, LRStride, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RRStride>>> Mul<Col<R>> for Mat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for Perm<L>
impl<I: Index, T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, Rows>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for Perm<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, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for Scale<T>
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for Scale<T>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for SparseColMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for SparseColMat<L>
Source§impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for SparseRowMat<L>
impl<I: Index, T: ComplexField, Rows: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, RRStride>>> Mul<Col<R>> for SparseRowMat<L>
Source§impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<R>> for f64
impl<T: ComplexField, Rows: Shape, RT: Conjugate<Canonical = T>, RRStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Mul<Col<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, 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, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<Scale<T>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<Scale<T>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<Scale<T>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<f64> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<f64> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>> Mul<f64> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<&Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<&Scale<T>> for Col<L>
Source§fn mul_assign(&mut self, rhs: &Scale<T>)
fn mul_assign(&mut self, rhs: &Scale<T>)
*= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<&f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<&f64> for Col<L>
Source§fn mul_assign(&mut self, rhs: &f64)
fn mul_assign(&mut self, rhs: &f64)
*= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<Scale<T>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<Scale<T>> for Col<L>
Source§fn mul_assign(&mut self, rhs: Scale<T>)
fn mul_assign(&mut self, rhs: Scale<T>)
*= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<f64> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>> MulAssign<f64> for Col<L>
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*= operation. Read moreSource§impl<T: Conjugate, Rows: Shape, RStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Rows, RStride>>> Neg for &Col<Inner>
impl<T: Conjugate, Rows: Shape, RStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Rows, RStride>>> Neg for &Col<Inner>
Source§impl<T: Conjugate, Rows: Shape, RStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Rows, RStride>>> Neg for Col<Inner>
impl<T: Conjugate, Rows: Shape, RStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Rows, RStride>>> Neg for Col<Inner>
Source§impl<LT: PartialEq<RT>, LRows: Shape, LRStride: Stride, RT, RRows: Shape, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LRows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RRows, RRStride>>> PartialEq<Col<R>> for Col<L>
impl<LT: PartialEq<RT>, LRows: Shape, LRStride: Stride, RT, RRows: Shape, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LRows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RRows, RRStride>>> PartialEq<Col<R>> for Col<L>
Source§impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Col<Inner>
impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Col<Inner>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<&Col<R>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<&Col<R>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<&Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<&Col<R>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<Col<R>> for &Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<Col<R>> for &Col<L>
Source§impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LT: Conjugate<Canonical = T>, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> Sub<Col<R>> for Col<L>
Source§impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> SubAssign<&Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> SubAssign<&Col<R>> for Col<L>
Source§fn sub_assign(&mut self, rhs: &Col<R>)
fn sub_assign(&mut self, rhs: &Col<R>)
-= operation. Read moreSource§impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> SubAssign<Col<R>> for Col<L>
impl<T: ComplexField, Rows: Shape, LRStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Rows, LRStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, RRStride>>> SubAssign<Col<R>> for Col<L>
Source§fn sub_assign(&mut self, rhs: Col<R>)
fn sub_assign(&mut self, rhs: Col<R>)
-= operation. Read moreimpl<Inner: Copy> Copy for Col<Inner>
Auto Trait Implementations§
impl<Inner> Freeze for Col<Inner>where
Inner: Freeze,
impl<Inner> RefUnwindSafe for Col<Inner>where
Inner: RefUnwindSafe,
impl<Inner> Send for Col<Inner>where
Inner: Send,
impl<Inner> Sync for Col<Inner>where
Inner: Sync,
impl<Inner> Unpin for Col<Inner>where
Inner: Unpin,
impl<Inner> UnwindSafe for Col<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