Row

Struct Row 

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

generic Row wrapper

Tuple Fields§

§0: Inner

Implementations§

Source§

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

Source

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

creates a row view over the given element

Source

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

creates a RowMut from slice views over the row vector data, the result has the same number of columns as the length of the input slice

Source§

impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>

Source

pub const unsafe fn from_raw_parts_mut( ptr: *mut T, ncols: Cols, col_stride: CStride, ) -> Self

creates a RowMut from pointers to the column vector data, number of rows, and row stride

§safety

this function has the same safety requirements as [MatMut::from_raw_parts_mut(ptr, 1, ncols, 0, col_stride)]

Source

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

returns a pointer to the row data

Source

pub fn nrows(&self) -> usize

returns the number of rows of the row (always 1)

Source

pub fn ncols(&self) -> Cols

returns the number of columns of the row

Source

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

returns the number of rows and columns of the row

Source

pub fn col_stride(&self) -> CStride

returns the column stride of the row

Source

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

returns a raw pointer to the element at the given index

Source

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

returns a raw pointer to the element at the given index, assuming the provided index is within the row bounds

§safety

the behavior is undefined if any of the following conditions are violated:

  • col < self.ncols()
Source

pub fn split_at_col( self, col: IdxInc<Cols>, ) -> (RowRef<'a, T, usize, CStride>, RowRef<'a, T, usize, CStride>)

Source

pub fn transpose(self) -> ColRef<'a, T, Cols, CStride>

Source

pub fn conjugate(self) -> RowRef<'a, T::Conj, Cols, CStride>
where T: Conjugate,

Source

pub fn canonical(self) -> RowRef<'a, T::Canonical, Cols, CStride>
where T: Conjugate,

Source

pub fn adjoint(self) -> ColRef<'a, T::Conj, Cols, CStride>
where T: Conjugate,

Source

pub fn get<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
where RowRef<'a, T, Cols, CStride>: RowIndex<ColRange>,

Source

pub unsafe fn get_unchecked<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
where RowRef<'a, T, Cols, CStride>: RowIndex<ColRange>,

Source

pub fn reverse_cols(self) -> RowRef<'a, T, Cols, CStride::Rev>

Source

pub fn subcols<V: Shape>( self, col_start: IdxInc<Cols>, ncols: V, ) -> RowRef<'a, T, V, CStride>

Source

pub fn as_col_shape<V: Shape>(self, ncols: V) -> RowRef<'a, T, V, CStride>

Source

pub fn as_dyn_cols(self) -> RowRef<'a, T, usize, CStride>

Source

pub fn as_dyn_stride(self) -> RowRef<'a, T, Cols, isize>

Source

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

Source

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

Source

pub fn try_as_row_major(self) -> Option<RowRef<'a, T, Cols, ContiguousFwd>>

Source

pub fn as_diagonal(self) -> DiagRef<'a, T, Cols, CStride>

Source

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

Source

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

Source§

impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> ReborrowMut<'short, Target = Mut<'short, T, Cols, CStride>>> Row<Inner>

Source

pub fn as_mut(&mut self) -> RowMut<'_, T, Cols, CStride>

returns a view over self

Source

pub fn copy_from<RhsT: Conjugate<Canonical = T>>( &mut self, other: impl AsRowRef<T = RhsT, Cols = Cols>, )
where T: ComplexField,

copies other into self

Source

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

fills all the elements of self with value

Source§

impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>

Source

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

Source

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

Source

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

Source

pub fn split_at_col_mut( self, col: IdxInc<Cols>, ) -> (RowMut<'a, T, usize, CStride>, RowMut<'a, T, usize, CStride>)

Source

pub fn transpose_mut(self) -> ColMut<'a, T, Cols, CStride>

Source

pub fn conjugate_mut(self) -> RowMut<'a, T::Conj, Cols, CStride>
where T: Conjugate,

Source

pub fn canonical_mut(self) -> RowMut<'a, T::Canonical, Cols, CStride>
where T: Conjugate,

Source

pub fn adjoint_mut(self) -> ColMut<'a, T::Conj, Cols, CStride>
where T: Conjugate,

Source

pub fn get_mut<ColRange>( self, col: ColRange, ) -> <RowMut<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
where RowMut<'a, T, Cols, CStride>: RowIndex<ColRange>,

Source

pub unsafe fn get_mut_unchecked<ColRange>( self, col: ColRange, ) -> <RowMut<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
where RowMut<'a, T, Cols, CStride>: RowIndex<ColRange>,

Source

pub fn reverse_cols_mut(self) -> RowMut<'a, T, Cols, CStride::Rev>

Source

pub fn subcols_mut<V: Shape>( self, col_start: IdxInc<Cols>, ncols: V, ) -> RowMut<'a, T, V, CStride>

Source

pub fn as_col_shape_mut<V: Shape>(self, ncols: V) -> RowMut<'a, T, V, CStride>

Source

pub fn as_dyn_cols_mut(self) -> RowMut<'a, T, usize, CStride>

Source

pub fn as_dyn_stride_mut(self) -> RowMut<'a, T, Cols, isize>

Source

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

Source

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

Source

pub fn par_partition( self, count: usize, ) -> impl 'a + IndexedParallelIterator<Item = RowRef<'a, T, usize, CStride>>
where T: Sync, Cols: 'a,

Source

pub fn par_partition_mut( self, count: usize, ) -> impl 'a + IndexedParallelIterator<Item = RowMut<'a, T, usize, CStride>>
where T: Send, Cols: 'a,

Source

pub fn try_as_row_major_mut(self) -> Option<RowMut<'a, T, Cols, ContiguousFwd>>

Source

pub fn as_diagonal_mut(self) -> DiagMut<'a, T, Cols, CStride>

Source§

impl<'a, T, Rows: Shape> Row<Mut<'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> Row<Mut<'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, Cols: Shape> Row<Mut<'a, T, Cols, ContiguousFwd>>

Source

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

returns a reference over the elements as a slice

Source§

impl<'a, 'COLS, T> Row<Mut<'a, T, Dim<'COLS>, ContiguousFwd>>

Source

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

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

Source§

impl<'a, T, Cols: Shape, CStride: Stride> Row<Mut<'a, T, Cols, CStride>>
where T: RealField,

Source

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

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

Source

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

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

Source§

impl<T, Cols: Shape> Row<Own<T, Cols>>

Source

pub fn from_fn(nrows: Cols, f: impl FnMut(Idx<Cols>) -> T) -> Self

returns a new row with dimension nrows, filled with the provided function

Source

pub fn zeros(ncols: Cols) -> Self
where T: ComplexField,

returns a new row with dimension nrows, filled with zeros

Source

pub fn ones(ncols: Cols) -> Self
where T: ComplexField,

returns a new row with dimension nrows, filled with ones

Source

pub fn full(ncols: Cols, value: T) -> Self
where T: Clone,

returns a new row with dimension nrows, filled with value

Source

pub fn try_reserve( &mut self, new_row_capacity: usize, ) -> Result<(), TryReserveError>

reserves the minimum capacity for col_capacity columns without reallocating, or returns an error in case of failure. does nothing if the capacity is already sufficient

Source

pub fn reserve(&mut self, new_row_capacity: usize)

reserves the minimum capacity for col_capacity columns without reallocating. does nothing if the capacity is already sufficient

Source

pub fn resize_with(&mut self, new_nrows: Cols, f: impl FnMut(Idx<Cols>) -> T)

resizes the row in-place so that the new dimension is new_ncols. new elements are created with the given function f, so that elements at index j are created by calling f(j)

Source

pub fn truncate(&mut self, new_nrows: Cols)

truncates the row so that its new dimensions are new_ncols.
the new dimension must be smaller than or equal to the current dimension

§panics

the function panics if any of the following conditions are violated:

  • new_ncols > self.ncols()
Source

pub fn into_col_shape<V: Shape>(self, nrows: V) -> Row<T, V>

Source

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

Source

pub fn into_transpose(self) -> Col<T, Cols>

Source§

impl<T, Cols: Shape> Row<Own<T, Cols>>

Source

pub fn nrows(&self) -> usize

returns the number of rows of the row (always 1)

Source

pub fn ncols(&self) -> Cols

returns the number of columns of the row

Source§

impl<T, Cols: Shape> Row<Own<T, Cols>>

Source

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

Source

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

Source

pub fn col_stride(&self) -> isize

Source

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

Source

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

Source

pub fn split_at_col( &self, col: IdxInc<Cols>, ) -> (RowRef<'_, T, usize>, RowRef<'_, T, usize>)

Source

pub fn transpose(&self) -> ColRef<'_, T, Cols>

Source

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

Source

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

Source

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

Source

pub fn get<ColRange>( &self, col: ColRange, ) -> <RowRef<'_, T, Cols> as RowIndex<ColRange>>::Target
where for<'a> RowRef<'a, T, Cols>: RowIndex<ColRange>,

Source

pub unsafe fn get_unchecked<ColRange>( &self, col: ColRange, ) -> <RowRef<'_, T, Cols> as RowIndex<ColRange>>::Target
where for<'a> RowRef<'a, T, Cols>: RowIndex<ColRange>,

Source

pub fn reverse_cols(&self) -> RowRef<'_, T, Cols>

Source

pub fn subcols<V: Shape>( &self, col_start: IdxInc<Cols>, ncols: V, ) -> RowRef<'_, T, V>

Source

pub fn as_col_shape<V: Shape>(&self, ncols: V) -> RowRef<'_, T, V>

Source

pub fn as_dyn_cols(&self) -> RowRef<'_, T, usize>

Source

pub fn as_dyn_stride(&self) -> RowRef<'_, T, Cols, 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 try_as_row_major(&self) -> Option<RowRef<'_, T, Cols, ContiguousFwd>>

Source

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

Source

pub unsafe fn const_cast(&self) -> RowMut<'_, T, Cols>

Source

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

Source

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

Source§

impl<T, Cols: Shape> Row<Own<T, Cols>>

Source

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

Source

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

Source

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

Source

pub fn split_at_col_mut( &mut self, col: IdxInc<Cols>, ) -> (RowMut<'_, T, usize>, RowMut<'_, T, usize>)

Source

pub fn transpose_mut(&mut self) -> ColMut<'_, T, Cols>

Source

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

Source

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

Source

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

Source

pub fn get_mut<ColRange>( &mut self, col: ColRange, ) -> <RowMut<'_, T, Cols> as RowIndex<ColRange>>::Target
where for<'a> RowMut<'a, T, Cols>: RowIndex<ColRange>,

Source

pub unsafe fn get_mut_unchecked<ColRange>( &mut self, col: ColRange, ) -> <RowMut<'_, T, Cols> as RowIndex<ColRange>>::Target
where for<'a> RowMut<'a, T, Cols>: RowIndex<ColRange>,

Source

pub fn reverse_cols_mut(&mut self) -> RowMut<'_, T, Cols>

Source

pub fn subcols_mut<V: Shape>( &mut self, col_start: IdxInc<Cols>, ncols: V, ) -> RowMut<'_, T, V>

Source

pub fn as_col_shape_mut<V: Shape>(&mut self, ncols: V) -> RowMut<'_, T, V>

Source

pub fn as_dyn_cols_mut(&mut self) -> RowMut<'_, T, usize>

Source

pub fn as_dyn_stride_mut(&mut self) -> RowMut<'_, T, Cols, 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 try_as_row_major_mut( &mut self, ) -> Option<RowMut<'_, T, Cols, ContiguousFwd>>

Source

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

Source§

impl<T, Cols: Shape> Row<Own<T, Cols>>
where T: RealField,

Source

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

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

Source

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

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

Source§

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

Source

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

creates a row view over the given element

Source

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

creates a RowRef from slice views over the row vector data, the result has the same number of columns as the length of the input slice

Source§

impl<'a, T, Cols: Shape, CStride: Stride> Row<Ref<'a, T, Cols, CStride>>

Source

pub const unsafe fn from_raw_parts( ptr: *const T, ncols: Cols, col_stride: CStride, ) -> Self

creates a RowRef from pointers to the column vector data, number of rows, and row stride

§safety

this function has the same safety requirements as [MatRef::from_raw_parts(ptr, 1, ncols, 0, col_stride)]

Source

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

returns a pointer to the row data

Source

pub fn nrows(&self) -> usize

returns the number of rows of the row (always 1)

Source

pub fn ncols(&self) -> Cols

returns the number of columns of the row

Source

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

returns the number of rows and columns of the row

Source

pub fn col_stride(&self) -> CStride

returns the column stride of the row

Source

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

returns a raw pointer to the element at the given index

Source

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

returns a raw pointer to the element at the given index, assuming the provided index is within the row bounds

§safety

the behavior is undefined if any of the following conditions are violated:

  • col < self.ncols()
Source

pub fn split_at_col( self, col: IdxInc<Cols>, ) -> (RowRef<'a, T, usize, CStride>, RowRef<'a, T, usize, CStride>)

splits the row vertically at the given column into two parts and returns an array of each subrow, in the following order:

  • left
  • right
§panics

the function panics if the following condition is violated:

  • col <= self.ncols()
Source

pub fn transpose(self) -> ColRef<'a, T, Cols, CStride>

returns a view over the transpose of self

Source

pub fn conjugate(self) -> RowRef<'a, T::Conj, Cols, CStride>
where T: Conjugate,

returns a view over the conjugate of self

Source

pub fn canonical(self) -> RowRef<'a, T::Canonical, Cols, CStride>
where T: Conjugate,

returns an unconjugated view over self

Source

pub fn adjoint(self) -> ColRef<'a, T::Conj, Cols, CStride>
where T: Conjugate,

returns a view over the conjugate transpose of self

Source

pub fn get<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
where RowRef<'a, T, Cols, CStride>: RowIndex<ColRange>,

returns a reference to the element at the given index, or a subrow if col is a range, with bound checks

§panics

the function panics if any of the following conditions are violated:

  • col must be contained in [0, self.ncols())
Source

pub unsafe fn get_unchecked<ColRange>( self, col: ColRange, ) -> <RowRef<'a, T, Cols, CStride> as RowIndex<ColRange>>::Target
where RowRef<'a, T, Cols, CStride>: RowIndex<ColRange>,

returns a reference to the element at the given index, or a subrow if col is a range, without bound checks

§panics

the behavior is undefined if any of the following conditions are violated:

  • col must be contained in [0, self.ncols())
Source

pub fn reverse_cols(self) -> RowRef<'a, T, Cols, CStride::Rev>

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

Source

pub fn subcols<V: Shape>( self, col_start: IdxInc<Cols>, ncols: V, ) -> RowRef<'a, T, V, CStride>

returns a view over the subrow starting at column col_start, and with number of columns ncols

§panics

the function panics if any of the following conditions are violated:

  • col_start <= self.ncols()
  • ncols <= self.ncols() - col_start
Source

pub fn as_col_shape<V: Shape>(self, ncols: V) -> RowRef<'a, T, V, CStride>

returns the input row with the given column shape after checking that it matches the current column shape

Source

pub fn as_dyn_cols(self) -> RowRef<'a, T, usize, CStride>

returns the input row with dynamic column shape

Source

pub fn as_dyn_stride(self) -> RowRef<'a, T, Cols, isize>

returns the input row with dynamic stride

Source

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

returns an iterator over the elements of the row

Source

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

returns a parallel iterator over the elements of the row

Source

pub fn par_partition( self, count: usize, ) -> impl 'a + IndexedParallelIterator<Item = RowRef<'a, T, usize, CStride>>
where T: Sync, Cols: 'a,

returns a parallel iterator that provides exactly count successive chunks of the elements of this row

only available with the rayon feature

Source

pub fn try_as_row_major(self) -> Option<RowRef<'a, T, Cols, ContiguousFwd>>

returns a view over the row with a static column stride equal to +1, or None otherwise

Source

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

returns a matrix view over self

Source

pub fn as_diagonal(self) -> DiagRef<'a, T, Cols, CStride>

interprets the row as a diagonal matrix

Source§

impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>>> Row<Inner>

Source

pub fn as_ref(&self) -> RowRef<'_, T, Cols, CStride>

returns a view over 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 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

pub fn cloned(&self) -> Row<T, Cols>
where T: Clone,

returns a newly allocated row holding the cloned values of self

Source

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

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

Source§

impl<'a, T, Rows: Shape> Row<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> Row<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, Cols: Shape, CStride: Stride> Row<Ref<'a, T, Cols, CStride>>
where T: RealField,

Source

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

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

Source

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

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

Source§

impl<Inner> Row<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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<&Row<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<&Row<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<Row<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Add<Row<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> AddAssign<&Row<R>> for Row<L>

Source§

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

Performs the += operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> AddAssign<Row<R>> for Row<L>

Source§

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

Performs the += operation. Read more
Source§

impl<Inner: Clone> Clone for Row<Inner>

Source§

fn clone(&self) -> Row<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 Row<Inner>

Source§

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

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

impl<Inner> Deref for Row<Inner>

Source§

type Target = Inner

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl<Inner> DerefMut for Row<Inner>

Source§

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

Mutably dereferences the value.
Source§

impl<T, Cols: Shape, D: Distribution<T>> Distribution<Row<Own<T, Cols>>> for CwiseRowDistribution<Cols, D>

Source§

fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Row<T, Cols>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&Scale<T>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&Scale<T>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&f64> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the / operator.
Source§

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

Performs the / operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<&f64> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the / operator.
Source§

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

Performs the / operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<Scale<T>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<Scale<T>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<f64> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the / operator.
Source§

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

Performs the / operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Div<f64> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the / operator.
Source§

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

Performs the / operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&Scale<T>> for Row<L>

Source§

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

Performs the /= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<&f64> for Row<L>

Source§

fn div_assign(&mut self, rhs: &f64)

Performs the /= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<Scale<T>> for Row<L>

Source§

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

Performs the /= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> DivAssign<f64> for Row<L>

Source§

fn div_assign(&mut self, rhs: f64)

Performs the /= operation. Read more
Source§

impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>>> Index<<Cols as ShapeIdx>::Idx<usize>> for Row<Inner>

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, col: Idx<Cols>) -> &Self::Output

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

impl<T, Cols: Shape, CStride: Stride, Inner: for<'short> Reborrow<'short, Target = Ref<'short, T, Cols, CStride>> + for<'short> ReborrowMut<'short, Target = Mut<'short, T, Cols, CStride>>> IndexMut<<Cols as ShapeIdx>::Idx<usize>> for Row<Inner>

Source§

fn index_mut(&mut self, col: Idx<Cols>) -> &mut Self::Output

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

impl<Inner: IntoConst> IntoConst for Row<Inner>

Source§

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

Source§

fn into_const(self) -> Self::Target

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, 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, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for &Row<L>

Source§

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

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<&Diag<R>> for Row<L>

Source§

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

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<&Mat<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<&Perm<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<&Perm<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Perm<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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &Scale<T>

Source§

type Output = Row<Own<T, 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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for &f64

Source§

type Output = Row<Own<T, 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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for Scale<T>

Source§

type Output = Row<Own<T, 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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<&Row<R>> for f64

Source§

type Output = Row<Own<T, 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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&Scale<T>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&Scale<T>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseColMat<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseColMat<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseRowMat<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<&SparseRowMat<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&f64> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<&f64> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

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>, 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, 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, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for &Row<L>

Source§

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

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Dim: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Dim, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Dim, RStride>>> Mul<Diag<R>> for Row<L>

Source§

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

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<Mat<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Rows: Shape, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RRStride: Stride, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Rows, Cols, RRStride, RCStride>>> Mul<Mat<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<Perm<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, Cols>>> Mul<Perm<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Perm<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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &Scale<T>

Source§

type Output = Row<Own<T, 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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for &f64

Source§

type Output = Row<Own<T, 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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for Scale<T>

Source§

type Output = Row<Own<T, 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, Cols: Shape, RT: Conjugate<Canonical = T>, RCStride: Stride, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Mul<Row<R>> for f64

Source§

type Output = Row<Own<T, 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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<Scale<T>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

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, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<Scale<T>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseColMat<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseColMat<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseRowMat<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<I: Index, T: ComplexField, Cols: Shape, Depth: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Depth, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>> Mul<SparseRowMat<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<f64> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>> Mul<f64> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&Scale<T>> for Row<L>

Source§

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

Performs the *= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<&f64> for Row<L>

Source§

fn mul_assign(&mut self, rhs: &f64)

Performs the *= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<Scale<T>> for Row<L>

Source§

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

Performs the *= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>> MulAssign<f64> for Row<L>

Source§

fn mul_assign(&mut self, rhs: f64)

Performs the *= operation. Read more
Source§

impl<T: Conjugate, Cols: Shape, CStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Cols, CStride>>> Neg for &Row<Inner>

Source§

type Output = Row<Own<<T as Conjugate>::Canonical, Cols>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<T: Conjugate, Cols: Shape, CStride: Stride, Inner: for<'a> Reborrow<'a, Target = Ref<'a, T, Cols, CStride>>> Neg for Row<Inner>

Source§

type Output = Row<Own<<T as Conjugate>::Canonical, Cols>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<LT: PartialEq<RT>, LCols: Shape, LCStride: Stride, RT, RCols: Shape, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, LCols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, RCols, RCStride>>> PartialEq<Row<R>> for Row<L>

Source§

fn eq(&self, other: &Row<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 Row<Inner>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<&Row<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<&Row<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<Row<R>> for &Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LT: Conjugate<Canonical = T>, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> Sub<Row<R>> for Row<L>

Source§

type Output = Row<Own<T, Cols>>

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> SubAssign<&Row<R>> for Row<L>

Source§

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

Performs the -= operation. Read more
Source§

impl<T: ComplexField, Cols: Shape, LCStride: Stride, RT: Conjugate<Canonical = T>, RCStride: Stride, L: for<'a> ReborrowMut<'a, Target = Mut<'a, T, Cols, LCStride>>, R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Cols, RCStride>>> SubAssign<Row<R>> for Row<L>

Source§

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

Performs the -= operation. Read more
Source§

impl<Inner: Copy> Copy for Row<Inner>

Auto Trait Implementations§

§

impl<Inner> Freeze for Row<Inner>
where Inner: Freeze,

§

impl<Inner> RefUnwindSafe for Row<Inner>
where Inner: RefUnwindSafe,

§

impl<Inner> Send for Row<Inner>
where Inner: Send,

§

impl<Inner> Sync for Row<Inner>
where Inner: Sync,

§

impl<Inner> Unpin for Row<Inner>
where Inner: Unpin,

§

impl<Inner> UnwindSafe for Row<Inner>
where Inner: UnwindSafe,

Blanket Implementations§

Source§

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