Col

Struct Col 

Source
#[repr(transparent)]
pub struct Col<Inner>(pub Inner);
Expand description

generic Col wrapper

Tuple Fields§

§0: Inner

Implementations§

Source§

impl<'a, T> Col<Mut<'a, T>>

Source

pub fn from_mut(value: &'a mut T) -> Self

creates a column view over the given element

Source

pub fn from_slice_mut(slice: &'a mut [T]) -> Self

creates a ColMut from slice views over the column vector data, the result has the same number of rows as the length of the input slice

Source§

impl<'a, T, Rows: Shape, RStride: Stride> Col<Mut<'a, T, Rows, RStride>>

Source

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)]

Source

pub fn as_ptr(&self) -> *const T

returns a pointer to the column data

Source

pub fn nrows(&self) -> Rows

returns the number of rows of the column

Source

pub fn ncols(&self) -> usize

returns the number of columns of the column (always 1)

Source

pub fn shape(&self) -> (Rows, usize)

returns the number of rows and columns of the column

Source

pub fn row_stride(&self) -> RStride

returns the row stride of the column, specified in number of elements, not in bytes

Source

pub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T

returns a raw pointer to the element at the given index

Source

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()
Source

pub fn split_at_row( self, row: IdxInc<Rows>, ) -> (ColRef<'a, T, usize, RStride>, ColRef<'a, T, usize, RStride>)

Source

pub fn transpose(self) -> RowRef<'a, T, Rows, RStride>

Source

pub fn conjugate(self) -> ColRef<'a, T::Conj, Rows, RStride>
where T: Conjugate,

Source

pub fn canonical(self) -> ColRef<'a, T::Canonical, Rows, RStride>
where T: Conjugate,

Source

pub fn adjoint(self) -> RowRef<'a, T::Conj, Rows, RStride>
where T: Conjugate,

Source

pub fn get<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
where ColRef<'a, T, Rows, RStride>: ColIndex<RowRange>,

Source

pub unsafe fn get_unchecked<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
where ColRef<'a, T, Rows, RStride>: ColIndex<RowRange>,

Source

pub fn reverse_rows(self) -> ColRef<'a, T, Rows, RStride::Rev>

Source

pub fn subrows<V: Shape>( self, row_start: IdxInc<Rows>, nrows: V, ) -> ColRef<'a, T, V, RStride>

Source

pub fn as_row_shape<V: Shape>(self, nrows: V) -> ColRef<'a, T, V, RStride>

Source

pub fn as_dyn_rows(self) -> ColRef<'a, T, usize, RStride>

Source

pub fn as_dyn_stride(self) -> ColRef<'a, T, Rows, isize>

Source

pub fn iter( self, ) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>
where Rows: 'a,

Source

pub fn par_iter(self) -> impl 'a + IndexedParallelIterator<Item = &'a T>
where T: Sync, Rows: 'a,

Source

pub fn par_partition( self, count: usize, ) -> impl 'a + IndexedParallelIterator<Item = ColRef<'a, T, usize, RStride>>
where T: Sync, Rows: 'a,

Source

pub fn try_as_col_major(self) -> Option<ColRef<'a, T, Rows, ContiguousFwd>>

Source

pub fn try_as_col_major_mut(self) -> Option<ColMut<'a, T, Rows, ContiguousFwd>>

Source

pub fn as_mat(self) -> MatRef<'a, T, Rows, usize, RStride, isize>

Source

pub fn as_mat_mut(self) -> MatMut<'a, T, Rows, usize, RStride, isize>

Source

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>

Source

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

pub fn fill(&mut self, value: T)
where T: Clone,

fills all the elements of self with value

Source

pub fn as_mut(&mut self) -> ColMut<'_, T, Rows, RStride>

returns a view over self

Source§

impl<'a, T, Rows: Shape, RStride: Stride> Col<Mut<'a, T, Rows, RStride>>

Source

pub fn as_ptr_mut(&self) -> *mut T

Source

pub fn ptr_at_mut(&self, row: IdxInc<Rows>) -> *mut T

Source

pub unsafe fn ptr_inbounds_at_mut(&self, row: Idx<Rows>) -> *mut T

Source

pub fn split_at_row_mut( self, row: IdxInc<Rows>, ) -> (ColMut<'a, T, usize, RStride>, ColMut<'a, T, usize, RStride>)

Source

pub fn transpose_mut(self) -> RowMut<'a, T, Rows, RStride>

Source

pub fn conjugate_mut(self) -> ColMut<'a, T::Conj, Rows, RStride>
where T: Conjugate,

Source

pub fn canonical_mut(self) -> ColMut<'a, T::Canonical, Rows, RStride>
where T: Conjugate,

Source

pub fn adjoint_mut(self) -> RowMut<'a, T::Conj, Rows, RStride>
where T: Conjugate,

Source

pub fn get_mut<RowRange>( self, row: RowRange, ) -> <ColMut<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
where ColMut<'a, T, Rows, RStride>: ColIndex<RowRange>,

Source

pub unsafe fn get_mut_unchecked<RowRange>( self, row: RowRange, ) -> <ColMut<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
where ColMut<'a, T, Rows, RStride>: ColIndex<RowRange>,

Source

pub fn reverse_rows_mut(self) -> ColMut<'a, T, Rows, RStride::Rev>

Source

pub fn subrows_mut<V: Shape>( self, row_start: IdxInc<Rows>, nrows: V, ) -> ColMut<'a, T, V, RStride>

Source

pub fn as_row_shape_mut<V: Shape>(self, nrows: V) -> ColMut<'a, T, V, RStride>

Source

pub fn as_dyn_rows_mut(self) -> ColMut<'a, T, usize, RStride>

Source

pub fn as_dyn_stride_mut(self) -> ColMut<'a, T, Rows, isize>

Source

pub fn iter_mut( self, ) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a mut T>
where Rows: 'a,

Source

pub fn par_iter_mut(self) -> impl 'a + IndexedParallelIterator<Item = &'a mut T>
where T: Send, Rows: 'a,

Source

pub fn par_partition_mut( self, count: usize, ) -> impl 'a + IndexedParallelIterator<Item = ColMut<'a, T, usize, RStride>>
where T: Send, Rows: 'a,

Source

pub fn as_diagonal_mut(self) -> DiagMut<'a, T, Rows, RStride>

Source§

impl<'a, T, Rows: Shape> Col<Mut<'a, T, Rows, ContiguousFwd>>

Source

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>>

Source

pub fn as_array_mut(self) -> &'a mut Array<'ROWS, T>

returns a reference over the elements as a lifetime-bound slice

Source§

impl<'a, T, Rows: Shape> Col<Mut<'a, T, Rows>>
where T: RealField,

Source

pub fn max(&self) -> Option<T>

Returns the maximum element in the column, or None if the column is empty

Source

pub fn min(&self) -> Option<T>

Returns the minimum element in the column, or None if the column is empty

Source§

impl<T, Rows: Shape> Col<Own<T, Rows>>

Source

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

Source

pub fn zeros(nrows: Rows) -> Self
where T: ComplexField,

returns a new column with dimension nrows, filled with zeros

Source

pub fn ones(nrows: Rows) -> Self
where T: ComplexField,

returns a new column with dimension nrows, filled with ones

Source

pub fn full(nrows: Rows, value: T) -> Self
where T: Clone,

returns a new column with dimension nrows, filled with value

Source

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

Source

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

Source

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)

Source

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()
Source

pub fn into_row_shape<V: Shape>(self, nrows: V) -> Col<T, V>

Source

pub fn into_diagonal(self) -> Diag<T, Rows>

Source

pub fn into_transpose(self) -> Row<T, Rows>

Source§

impl<T, Rows: Shape> Col<Own<T, Rows>>

Source

pub fn nrows(&self) -> Rows

returns the number of rows of the column

Source

pub fn ncols(&self) -> usize

returns the number of columns of the column (always 1)

Source§

impl<T, Rows: Shape> Col<Own<T, Rows>>

Source

pub fn as_ptr(&self) -> *const T

Source

pub fn shape(&self) -> (Rows, usize)

Source

pub fn row_stride(&self) -> isize

Source

pub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T

Source

pub unsafe fn ptr_inbounds_at(&self, row: Idx<Rows>) -> *const T

Source

pub fn split_at_row( &self, row: IdxInc<Rows>, ) -> (ColRef<'_, T, usize>, ColRef<'_, T, usize>)

Source

pub fn transpose(&self) -> RowRef<'_, T, Rows>

Source

pub fn conjugate(&self) -> ColRef<'_, T::Conj, Rows>
where T: Conjugate,

Source

pub fn canonical(&self) -> ColRef<'_, T::Canonical, Rows>
where T: Conjugate,

Source

pub fn adjoint(&self) -> RowRef<'_, T::Conj, Rows>
where T: Conjugate,

Source

pub fn get<RowRange>( &self, row: RowRange, ) -> <ColRef<'_, T, Rows> as ColIndex<RowRange>>::Target
where for<'a> ColRef<'a, T, Rows>: ColIndex<RowRange>,

Source

pub unsafe fn get_unchecked<RowRange>( &self, row: RowRange, ) -> <ColRef<'_, T, Rows> as ColIndex<RowRange>>::Target
where for<'a> ColRef<'a, T, Rows>: ColIndex<RowRange>,

Source

pub fn reverse_rows(&self) -> ColRef<'_, T, Rows>

Source

pub fn subrows<V: Shape>( &self, row_start: IdxInc<Rows>, nrows: V, ) -> ColRef<'_, T, V>

Source

pub fn as_row_shape<V: Shape>(&self, nrows: V) -> ColRef<'_, T, V>

Source

pub fn as_dyn_rows(&self) -> ColRef<'_, T, usize>

Source

pub fn as_dyn_stride(&self) -> ColRef<'_, T, Rows, isize>

Source

pub fn iter( &self, ) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &T>

Source

pub fn par_iter(&self) -> impl '_ + IndexedParallelIterator<Item = &T>
where T: Sync,

Source

pub fn par_partition( &self, count: usize, ) -> impl '_ + IndexedParallelIterator<Item = ColRef<'_, T, usize>>
where T: Sync,

Source

pub fn try_as_col_major(&self) -> Option<ColRef<'_, T, Rows, ContiguousFwd>>

Source

pub fn try_as_col_major_mut( &mut self, ) -> Option<ColMut<'_, T, Rows, ContiguousFwd>>

Source

pub fn as_mat(&self) -> MatRef<'_, T, Rows, usize, isize>

Source

pub fn as_mat_mut(&mut self) -> MatMut<'_, T, Rows, usize, isize>

Source

pub fn as_diagonal(&self) -> DiagRef<'_, T, Rows>

Source§

impl<T, Rows: Shape> Col<Own<T, Rows>>

Source

pub fn as_ptr_mut(&mut self) -> *mut T

Source

pub fn ptr_at_mut(&mut self, row: IdxInc<Rows>) -> *mut T

Source

pub unsafe fn ptr_inbounds_at_mut(&mut self, row: Idx<Rows>) -> *mut T

Source

pub fn split_at_row_mut( &mut self, row: IdxInc<Rows>, ) -> (ColMut<'_, T, usize>, ColMut<'_, T, usize>)

Source

pub fn transpose_mut(&mut self) -> RowMut<'_, T, Rows>

Source

pub fn conjugate_mut(&mut self) -> ColMut<'_, T::Conj, Rows>
where T: Conjugate,

Source

pub fn canonical_mut(&mut self) -> ColMut<'_, T::Canonical, Rows>
where T: Conjugate,

Source

pub fn adjoint_mut(&mut self) -> RowMut<'_, T::Conj, Rows>
where T: Conjugate,

Source

pub fn get_mut<RowRange>( &mut self, row: RowRange, ) -> <ColMut<'_, T, Rows> as ColIndex<RowRange>>::Target
where for<'a> ColMut<'a, T, Rows>: ColIndex<RowRange>,

Source

pub unsafe fn get_mut_unchecked<RowRange>( &mut self, row: RowRange, ) -> <ColMut<'_, T, Rows> as ColIndex<RowRange>>::Target
where for<'a> ColMut<'a, T, Rows>: ColIndex<RowRange>,

Source

pub fn reverse_rows_mut(&mut self) -> ColMut<'_, T, Rows>

Source

pub fn subrows_mut<V: Shape>( &mut self, row_start: IdxInc<Rows>, nrows: V, ) -> ColMut<'_, T, V>

Source

pub fn as_row_shape_mut<V: Shape>(&mut self, nrows: V) -> ColMut<'_, T, V>

Source

pub fn as_dyn_rows_mut(&mut self) -> ColMut<'_, T, usize>

Source

pub fn as_dyn_stride_mut(&mut self) -> ColMut<'_, T, Rows, isize>

Source

pub fn iter_mut( &mut self, ) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = &mut T>

Source

pub fn par_iter_mut( &mut self, ) -> impl '_ + IndexedParallelIterator<Item = &mut T>
where T: Send,

Source

pub fn par_partition_mut( &mut self, count: usize, ) -> impl '_ + IndexedParallelIterator<Item = ColMut<'_, T, usize>>
where T: Send,

Source

pub fn as_diagonal_mut(&mut self) -> DiagMut<'_, T, Rows>

Source§

impl<T, Rows: Shape> Col<Own<T, Rows>>
where T: RealField,

Source

pub fn max(&self) -> Option<T>

Returns the maximum element in the column, or None if the column is empty

Source

pub fn min(&self) -> Option<T>

Returns the minimum element in the column, or None if the column is empty

Source§

impl<'a, T> Col<Ref<'a, T>>

Source

pub fn from_ref(value: &'a T) -> Self

creates a column view over the given element

Source

pub fn from_slice(slice: &'a [T]) -> Self

creates a ColRef from slice views over the column vector data, the result has the same number of rows as the length of the input slice

Source§

impl<'a, T, Rows: Shape, RStride: Stride> Col<Ref<'a, T, Rows, RStride>>

Source

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)]

Source

pub fn as_ptr(&self) -> *const T

returns a pointer to the column data

Source

pub fn nrows(&self) -> Rows

returns the number of rows of the column

Source

pub fn ncols(&self) -> usize

returns the number of columns of the column (always 1)

Source

pub fn shape(&self) -> (Rows, usize)

returns the number of rows and columns of the column

Source

pub fn row_stride(&self) -> RStride

returns the row stride of the column, specified in number of elements, not in bytes

Source

pub fn ptr_at(&self, row: IdxInc<Rows>) -> *const T

returns a raw pointer to the element at the given index

Source

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()
Source

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()
Source

pub fn transpose(self) -> RowRef<'a, T, Rows, RStride>

returns a view over the transpose of self

Source

pub fn conjugate(self) -> ColRef<'a, T::Conj, Rows, RStride>
where T: Conjugate,

returns a view over the conjugate of self

Source

pub fn canonical(self) -> ColRef<'a, T::Canonical, Rows, RStride>
where T: Conjugate,

returns an unconjugated view over self

Source

pub fn adjoint(self) -> RowRef<'a, T::Conj, Rows, RStride>
where T: Conjugate,

returns a view over the conjugate transpose of self

Source

pub fn get<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
where ColRef<'a, T, Rows, RStride>: ColIndex<RowRange>,

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:

  • row must be contained in [0, self.nrows())
Source

pub unsafe fn get_unchecked<RowRange>( self, row: RowRange, ) -> <ColRef<'a, T, Rows, RStride> as ColIndex<RowRange>>::Target
where ColRef<'a, T, Rows, RStride>: ColIndex<RowRange>,

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:

  • row must be contained in [0, self.nrows())
Source

pub fn reverse_rows(self) -> ColRef<'a, T, Rows, RStride::Rev>

returns a view over the self, with the rows in reversed order

Source

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
Source

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

Source

pub fn as_dyn_rows(self) -> ColRef<'a, T, usize, RStride>

returns the input column with dynamic row shape

Source

pub fn as_dyn_stride(self) -> ColRef<'a, T, Rows, isize>

returns the input column with dynamic stride

Source

pub fn iter( self, ) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = &'a T>
where Rows: 'a,

returns an iterator over the elements of the column

Source

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

Source

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

Source

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

Source

pub fn as_mat(self) -> MatRef<'a, T, Rows, usize, RStride, isize>

returns a matrix view over self

Source

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>

Source

pub fn cloned(&self) -> Col<T, Rows>
where T: Clone,

returns a newly allocated column holding the cloned values of self

Source

pub fn to_owned(&self) -> Col<T::Canonical, Rows>
where T: Conjugate,

returns a newly allocated column holding the (possibly conjugated) values of self

Source

pub fn norm_max(&self) -> Real<T>
where T: Conjugate,

returns the maximum norm of self

Source

pub fn norm_l2(&self) -> Real<T>
where T: Conjugate,

returns the l2 norm of self

Source

pub fn squared_norm_l2(&self) -> Real<T>
where T: Conjugate,

returns the squared l2 norm of self

Source

pub fn norm_l1(&self) -> Real<T>
where T: Conjugate,

returns the l1 norm of self

Source

pub fn sum(&self) -> T::Canonical
where T: Conjugate,

returns the sum of the elements of self

Source

pub fn as_ref(&self) -> ColRef<'_, T, Rows, RStride>

returns a view over self

Source

pub fn kron( &self, rhs: impl AsMatRef<T: Conjugate<Canonical = T::Canonical>>, ) -> Mat<T::Canonical>
where T: Conjugate,

Source

pub fn is_all_finite(&self) -> bool
where T: Conjugate,

returns true if all of the elements of self are finite. otherwise returns false.

Source

pub fn has_nan(&self) -> bool
where T: Conjugate,

returns true if any of the elements of self is NaN. otherwise returns false.

Source§

impl<'a, T, Rows: Shape> Col<Ref<'a, T, Rows, ContiguousFwd>>

Source

pub fn as_slice(self) -> &'a [T]

returns a reference over the elements as a slice

Source§

impl<'a, 'ROWS, T> Col<Ref<'a, T, Dim<'ROWS>, ContiguousFwd>>

Source

pub fn as_array(self) -> &'a Array<'ROWS, T>

returns a reference over the elements as a lifetime-bound slice

Source§

impl<'a, T, Rows: Shape, RStride: Stride> Col<Ref<'a, T, Rows, RStride>>
where T: RealField,

Source

pub fn max(&self) -> Option<T>

Returns the maximum element in the column, or None if the column is empty

Source

pub fn min(&self) -> Option<T>

Returns the minimum element in the column, or None if the column is empty

Source§

impl<Inner> Col<Inner>

Source

pub fn from_inner_ref(inner: &Inner) -> &Self

wrap by reference

Source

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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Col<R>) -> Self::Output

Performs the + operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Col<R>) -> Self::Output

Performs the + operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Col<R>) -> Self::Output

Performs the + operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Col<R>) -> Self::Output

Performs the + operation. Read more
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>

Source§

fn add_assign(&mut self, rhs: &Col<R>)

Performs the += operation. Read more
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>

Source§

fn add_assign(&mut self, rhs: Col<R>)

Performs the += operation. Read more
Source§

impl<Inner: Clone> Clone for Col<Inner>

Source§

fn clone(&self) -> Col<Inner>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Inner: Debug> Debug for Col<Inner>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<Inner> Deref for Col<Inner>

Source§

type Target = Inner

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<Inner> DerefMut for Col<Inner>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

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>

Generate a random value of T, using rng as the source of randomness.
Source§

fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
where R: Rng, Self: Sized,

Create an iterator that generates random values of T, using rng as the source of randomness. Read more
Source§

fn map<F, S>(self, func: F) -> DistMap<Self, F, T, S>
where F: Fn(T) -> S, Self: Sized,

Create a distribution of values of ‘S’ by mapping the output of Self through the closure F Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &Scale<T>) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &Scale<T>) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &f64) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &f64) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Scale<T>) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Scale<T>) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: f64) -> Self::Output

Performs the / operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: f64) -> Self::Output

Performs the / operation. Read more
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>

Source§

fn div_assign(&mut self, rhs: &Scale<T>)

Performs the /= operation. Read more
Source§

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)

Performs the /= operation. Read more
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>

Source§

fn div_assign(&mut self, rhs: Scale<T>)

Performs the /= operation. Read more
Source§

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)

Performs the /= operation. Read more
Source§

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§

type Output = T

The returned type after indexing.
Source§

fn index(&self, row: Idx<Rows>) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
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>

Source§

fn index_mut(&mut self, row: Idx<Rows>) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl<Inner: IntoConst> IntoConst for Col<Inner>

Source§

type Target = Col<<Inner as IntoConst>::Target>

Source§

fn into_const(self) -> Self::Target

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>

Source§

type Output = Col<Own<T, Dim>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = T

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Dim>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = T

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Mat<Own<T, Rows, Cols>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Row<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Mat<Own<T, Rows, Cols>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Row<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Scale<T>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Scale<T>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &f64) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &f64) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Dim>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = T

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Dim>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = T

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Col<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Mat<Own<T, Rows, Cols>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Row<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Mat<Own<T, Rows, Cols>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Row<R>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Scale<T>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Scale<T>) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: f64) -> Self::Output

Performs the * operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: f64) -> Self::Output

Performs the * operation. Read more
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>

Source§

fn mul_assign(&mut self, rhs: &Scale<T>)

Performs the *= operation. Read more
Source§

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)

Performs the *= operation. Read more
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>

Source§

fn mul_assign(&mut self, rhs: Scale<T>)

Performs the *= operation. Read more
Source§

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)

Performs the *= operation. Read more
Source§

impl<T: Conjugate, Rows: Shape, RStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Rows, RStride>>> Neg for &Col<Inner>

Source§

type Output = Col<Own<<T as Conjugate>::Canonical, Rows>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<T: Conjugate, Rows: Shape, RStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Rows, RStride>>> Neg for Col<Inner>

Source§

type Output = Col<Own<<T as Conjugate>::Canonical, Rows>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
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>

Source§

fn eq(&self, other: &Col<R>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'short, Inner: Reborrow<'short>> Reborrow<'short> for Col<Inner>

Source§

type Target = Col<<Inner as Reborrow<'short>>::Target>

Source§

fn rb(&'short self) -> Self::Target

Source§

impl<'short, Inner: ReborrowMut<'short>> ReborrowMut<'short> for Col<Inner>

Source§

type Target = Col<<Inner as ReborrowMut<'short>>::Target>

Source§

fn rb_mut(&'short mut self) -> Self::Target

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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Col<R>) -> Self::Output

Performs the - operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Col<R>) -> Self::Output

Performs the - operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Col<R>) -> Self::Output

Performs the - operation. Read more
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>

Source§

type Output = Col<Own<T, Rows>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Col<R>) -> Self::Output

Performs the - operation. Read more
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>

Source§

fn sub_assign(&mut self, rhs: &Col<R>)

Performs the -= operation. Read more
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>

Source§

fn sub_assign(&mut self, rhs: Col<R>)

Performs the -= operation. Read more
Source§

impl<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<Rhs, Lhs, Output> AddByRef<Rhs> for Lhs
where &'a Lhs: for<'a> Add<&'a Rhs, Output = Output>,

Source§

type Output = Output

Source§

fn add_by_ref(&self, rhs: &Rhs) -> <Lhs as AddByRef<Rhs>>::Output

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<M> AsColMut for M
where M: AsMatMut<Cols = One>,

Source§

fn as_col_mut( &mut self, ) -> Col<Mut<'_, <M as AsMatRef>::T, <M as AsMatRef>::Rows>>

returns a view over self
Source§

impl<M> AsColRef for M
where M: AsMatRef<Cols = One>,

Source§

fn as_col_ref(&self) -> Col<Ref<'_, <M as AsMatRef>::T, <M as AsMatRef>::Rows>>

returns a view over self
Source§

impl<M> AsRowMut for M
where M: AsMatMut<Rows = One>,

Source§

fn as_row_mut( &mut self, ) -> Row<Mut<'_, <M as AsMatRef>::T, <M as AsMatRef>::Cols>>

returns a view over self
Source§

impl<M> AsRowRef for M
where M: AsMatRef<Rows = One>,

Source§

fn as_row_ref(&self) -> Row<Ref<'_, <M as AsMatRef>::T, <M as AsMatRef>::Cols>>

returns a view over self
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ByRef<T> for T

Source§

fn by_ref(&self) -> &T

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DistributionExt for T
where T: ?Sized,

Source§

fn rand<T>(&self, rng: &mut (impl ?Sized + Rng)) -> T
where Self: Distribution<T>,

Source§

impl<Rhs, Lhs, Output> DivByRef<Rhs> for Lhs
where &'a Lhs: for<'a> Div<&'a Rhs, Output = Output>,

Source§

type Output = Output

Source§

fn div_by_ref(&self, rhs: &Rhs) -> <Lhs as DivByRef<Rhs>>::Output

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<Rhs, Lhs, Output> MulByRef<Rhs> for Lhs
where &'a Lhs: for<'a> Mul<&'a Rhs, Output = Output>,

Source§

type Output = Output

Source§

fn mul_by_ref(&self, rhs: &Rhs) -> <Lhs as MulByRef<Rhs>>::Output

Source§

impl<T, Output> NegByRef for T
where &'a T: for<'a> Neg<Output = Output>,

Source§

type Output = Output

Source§

fn neg_by_ref(&self) -> <T as NegByRef>::Output

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<Rhs, Lhs, Output> SubByRef<Rhs> for Lhs
where &'a Lhs: for<'a> Sub<&'a Rhs, Output = Output>,

Source§

type Output = Output

Source§

fn sub_by_ref(&self, rhs: &Rhs) -> <Lhs as SubByRef<Rhs>>::Output

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> Boilerplate for T
where T: Copy + Send + Sync + Debug + PartialEq + 'static,