Struct rulinalg::matrix::MatrixSlice
source · [−]pub struct MatrixSlice<'a, T: 'a> { /* private fields */ }
Expand description
A MatrixSlice
This struct provides a slice into a matrix.
The struct contains the upper left point of the slice and the width and height of the slice.
Implementations
sourceimpl<'a, T> MatrixSlice<'a, T>
impl<'a, T> MatrixSlice<'a, T>
sourcepub fn from_matrix(
mat: &'a Matrix<T>,
start: [usize; 2],
rows: usize,
cols: usize
) -> MatrixSlice<'_, T>
pub fn from_matrix(
mat: &'a Matrix<T>,
start: [usize; 2],
rows: usize,
cols: usize
) -> MatrixSlice<'_, T>
Produce a MatrixSlice
from a Matrix
Examples
use rulinalg::matrix::{Matrix, MatrixSlice};
let a = Matrix::new(3,3, (0..9).collect::<Vec<usize>>());
let slice = MatrixSlice::from_matrix(&a, [1,1], 2, 2);
sourcepub unsafe fn from_raw_parts(
ptr: *const T,
rows: usize,
cols: usize,
row_stride: usize
) -> MatrixSlice<'a, T>
pub unsafe fn from_raw_parts(
ptr: *const T,
rows: usize,
cols: usize,
row_stride: usize
) -> MatrixSlice<'a, T>
Creates a MatrixSlice
from raw parts.
Examples
use rulinalg::matrix::MatrixSlice;
let mut a = vec![4.0; 16];
unsafe {
// Create a matrix slice with 3 rows, and 3 cols
// The row stride of 4 specifies the distance between the start of each row in the data.
let b = MatrixSlice::from_raw_parts(a.as_ptr(), 3, 3, 4);
}
Safety
The pointer must be followed by a contiguous slice of data larger than row_stride * rows
.
If not then other operations will produce undefined behaviour.
Additionally cols
should be less than the row_stride
. It is possible to use this
function safely whilst violating this condition. So long as
max(cols, row_stride) * rows
is less than the data size.
Trait Implementations
sourceimpl<'a, 'b, T> Add<&'b Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<&'b Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, T> Add<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, T> Add<&'b T> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<&'b T> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Scalar addition with matrix slice.
sourceimpl<'a, 'b, 'c, T> Add<&'c Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<&'c Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, T> Add<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, T> Add<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Scalar addition with matrix slice.
sourceimpl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, T> Add<Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, T> Add<Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, T> Add<Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, T> Add<MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, T> Add<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
impl<'a, T> Add<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
Performs elementwise
addition
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, 'c, T> Add<MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, T> Add<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, T> Add<MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, T> Add<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, 'c, T> Add<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> Add<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, T> Add<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition between the slices.
sourceimpl<'a, 'b, T> Add<T> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> Add<T> for &'b MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Scalar addition with matrix slice.
sourceimpl<'a, T> Add<T> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, T> Add<T> for MatrixSlice<'a, T>where
T: Copy + Add<T, Output = T>,
Scalar addition with matrix slice.
sourceimpl<'a, 'b, T> AddAssign<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> AddAssign<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition assignment between two matrices.
sourcefn add_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
fn add_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
+=
operation. Read moresourceimpl<'a, 'b, 'c, T> AddAssign<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, 'c, T> AddAssign<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition assignment between two matrices.
sourcefn add_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
fn add_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
+=
operation. Read moresourceimpl<'a, T> AddAssign<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
impl<'a, T> AddAssign<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition assignment between two matrices.
sourcefn add_assign(&mut self, _rhs: MatrixSlice<'_, T>)
fn add_assign(&mut self, _rhs: MatrixSlice<'_, T>)
+=
operation. Read moresourceimpl<'a, 'b, T> AddAssign<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
impl<'a, 'b, T> AddAssign<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Add<T, Output = T>,
Performs elementwise addition assignment between two matrices.
sourcefn add_assign(&mut self, _rhs: MatrixSlice<'_, T>)
fn add_assign(&mut self, _rhs: MatrixSlice<'_, T>)
+=
operation. Read moresourceimpl<'a, T> BaseMatrix<T> for MatrixSlice<'a, T>
impl<'a, T> BaseMatrix<T> for MatrixSlice<'a, T>
sourcefn row_stride(&self) -> usize
fn row_stride(&self) -> usize
sourcefn as_slice(&self) -> MatrixSlice<'_, T>
fn as_slice(&self) -> MatrixSlice<'_, T>
MatrixSlice
over the whole matrix. Read moresourceunsafe fn get_unchecked(&self, index: [usize; 2]) -> &T
unsafe fn get_unchecked(&self, index: [usize; 2]) -> &T
sourcefn get(&self, index: [usize; 2]) -> Option<&T>
fn get(&self, index: [usize; 2]) -> Option<&T>
sourcefn col(&self, index: usize) -> Column<'_, T>
fn col(&self, index: usize) -> Column<'_, T>
None
if the index is out of bounds. Read moresourceunsafe fn col_unchecked(&self, index: usize) -> Column<'_, T>
unsafe fn col_unchecked(&self, index: usize) -> Column<'_, T>
sourcefn row(&self, index: usize) -> Row<'_, T>
fn row(&self, index: usize) -> Row<'_, T>
sourceunsafe fn row_unchecked(&self, index: usize) -> Row<'_, T>
unsafe fn row_unchecked(&self, index: usize) -> Row<'_, T>
sourcefn iter<'a>(&self) -> SliceIter<'a, T>ⓘNotable traits for SliceIter<'a, T>impl<'a, T> Iterator for SliceIter<'a, T> type Item = &'a T;
where
T: 'a,
fn iter<'a>(&self) -> SliceIter<'a, T>ⓘNotable traits for SliceIter<'a, T>impl<'a, T> Iterator for SliceIter<'a, T> type Item = &'a T;
where
T: 'a,
sourcefn col_iter(&self) -> Cols<'_, T>ⓘNotable traits for Cols<'a, T>impl<'a, T> Iterator for Cols<'a, T> type Item = Column<'a, T>;
fn col_iter(&self) -> Cols<'_, T>ⓘNotable traits for Cols<'a, T>impl<'a, T> Iterator for Cols<'a, T> type Item = Column<'a, T>;
sourcefn row_iter(&self) -> Rows<'_, T>ⓘNotable traits for Rows<'a, T>impl<'a, T> Iterator for Rows<'a, T> type Item = Row<'a, T>;
fn row_iter(&self) -> Rows<'_, T>ⓘNotable traits for Rows<'a, T>impl<'a, T> Iterator for Rows<'a, T> type Item = Row<'a, T>;
sourcefn diag_iter(&self, k: DiagOffset) -> Diagonal<'_, T, Self>ⓘNotable traits for Diagonal<'a, T, M>impl<'a, T, M: BaseMatrix<T>> Iterator for Diagonal<'a, T, M> type Item = &'a T;
fn diag_iter(&self, k: DiagOffset) -> Diagonal<'_, T, Self>ⓘNotable traits for Diagonal<'a, T, M>impl<'a, T, M: BaseMatrix<T>> Iterator for Diagonal<'a, T, M> type Item = &'a T;
sourcefn metric<'a, 'b, B, M>(&'a self, mat: &'b B, metric: M) -> Twhere
B: 'b + BaseMatrix<T>,
M: MatrixMetric<'a, 'b, T, Self, B>,
fn metric<'a, 'b, B, M>(&'a self, mat: &'b B, metric: M) -> Twhere
B: 'b + BaseMatrix<T>,
M: MatrixMetric<'a, 'b, T, Self, B>,
sourcefn diag(&self) -> Diagonal<'_, T, Self>ⓘNotable traits for Diagonal<'a, T, M>impl<'a, T, M: BaseMatrix<T>> Iterator for Diagonal<'a, T, M> type Item = &'a T;
fn diag(&self) -> Diagonal<'_, T, Self>ⓘNotable traits for Diagonal<'a, T, M>impl<'a, T, M: BaseMatrix<T>> Iterator for Diagonal<'a, T, M> type Item = &'a T;
sourcefn split_at(
&self,
mid: usize,
axis: Axes
) -> (MatrixSlice<'_, T>, MatrixSlice<'_, T>)
fn split_at(
&self,
mid: usize,
axis: Axes
) -> (MatrixSlice<'_, T>, MatrixSlice<'_, T>)
MatrixSlice
s. Read moresourceimpl<'a, T: Clone + 'a> Clone for MatrixSlice<'a, T>
impl<'a, T: Clone + 'a> Clone for MatrixSlice<'a, T>
sourcefn clone(&self) -> MatrixSlice<'a, T>
fn clone(&self) -> MatrixSlice<'a, T>
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl<'a, T: Debug + 'a> Debug for MatrixSlice<'a, T>
impl<'a, T: Debug + 'a> Debug for MatrixSlice<'a, T>
sourceimpl<'a, 'b, T> Div<&'b T> for MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
impl<'a, 'b, T> Div<&'b T> for MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
Scalar division with matrix slice.
sourceimpl<'a, 'b, 'c, T> Div<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
impl<'a, 'b, 'c, T> Div<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
Scalar division with matrix slice.
sourceimpl<'a, 'b, T> Div<T> for &'b MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
impl<'a, 'b, T> Div<T> for &'b MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
Scalar division with matrix slice.
sourceimpl<'a, T> Div<T> for MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
impl<'a, T> Div<T> for MatrixSlice<'a, T>where
T: Copy + Div<T, Output = T>,
Scalar division with matrix slice.
sourceimpl<'a, T: Copy> From<MatrixSlice<'a, T>> for Matrix<T>
impl<'a, T: Copy> From<MatrixSlice<'a, T>> for Matrix<T>
sourcefn from(slice: MatrixSlice<'a, T>) -> Self
fn from(slice: MatrixSlice<'a, T>) -> Self
sourceimpl<'a, T> Index<[usize; 2]> for MatrixSlice<'a, T>
impl<'a, T> Index<[usize; 2]> for MatrixSlice<'a, T>
Indexes matrix slice. Takes row index first then column.
sourceimpl<'a, T> IntoIterator for &'a MatrixSlice<'a, T>
impl<'a, T> IntoIterator for &'a MatrixSlice<'a, T>
sourceimpl<'a, T> IntoIterator for &'a mut MatrixSlice<'a, T>
impl<'a, T> IntoIterator for &'a mut MatrixSlice<'a, T>
sourceimpl<'a, T> IntoIterator for MatrixSlice<'a, T>
impl<'a, T> IntoIterator for MatrixSlice<'a, T>
sourceimpl<'a, 'b, 'm, T> Mul<&'a MatrixSlice<'m, T>> for &'b PermutationMatrix<T>where
T: Zero + Clone,
impl<'a, 'b, 'm, T> Mul<&'a MatrixSlice<'m, T>> for &'b PermutationMatrix<T>where
T: Zero + Clone,
Left-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'm, T> Mul<&'a MatrixSlice<'m, T>> for PermutationMatrix<T>where
T: Zero + Clone,
impl<'a, 'm, T> Mul<&'a MatrixSlice<'m, T>> for PermutationMatrix<T>where
T: Zero + Clone,
Left-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'b, T> Mul<&'b Matrix<T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<&'b Matrix<T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, T> Mul<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'm, T> Mul<&'b PermutationMatrix<T>> for &'a MatrixSlice<'m, T>where
T: Zero + Clone,
impl<'a, 'b, 'm, T> Mul<&'b PermutationMatrix<T>> for &'a MatrixSlice<'m, T>where
T: Zero + Clone,
Right-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'b, 'm, T> Mul<&'b PermutationMatrix<T>> for MatrixSlice<'m, T>where
T: Zero + Clone,
impl<'a, 'b, 'm, T> Mul<&'b PermutationMatrix<T>> for MatrixSlice<'m, T>where
T: Zero + Clone,
Right-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'b, T> Mul<&'b T> for MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<&'b T> for MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
Scalar multiplication with matrix slice.
sourceimpl<'a, 'b, 'c, T> Mul<&'c Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<&'c Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
Scalar multiplication with matrix slice.
sourceimpl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, T> Mul<Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, T> Mul<Matrix<T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, T> Mul<Matrix<T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, T> Mul<MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, T> Mul<MatrixSlice<'a, T>> for Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, T> Mul<MatrixSlice<'a, T>> for Matrix<T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'c, T> Mul<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, T> Mul<MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, T> Mul<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, 'm, T> Mul<MatrixSlice<'m, T>> for &'b PermutationMatrix<T>where
T: Zero + Clone,
impl<'a, 'b, 'm, T> Mul<MatrixSlice<'m, T>> for &'b PermutationMatrix<T>where
T: Zero + Clone,
Left-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'm, T> Mul<MatrixSlice<'m, T>> for PermutationMatrix<T>where
T: Zero + Clone,
impl<'a, 'm, T> Mul<MatrixSlice<'m, T>> for PermutationMatrix<T>where
T: Zero + Clone,
Left-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'b, 'c, T> Mul<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, 'c, T> Mul<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'b, T> Mul<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>,
Multiplies two matrices together.
sourceimpl<'a, 'm, T> Mul<PermutationMatrix<T>> for &'a MatrixSlice<'m, T>where
T: Zero + Clone,
impl<'a, 'm, T> Mul<PermutationMatrix<T>> for &'a MatrixSlice<'m, T>where
T: Zero + Clone,
Right-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'm, T> Mul<PermutationMatrix<T>> for MatrixSlice<'m, T>where
T: Zero + Clone,
impl<'a, 'm, T> Mul<PermutationMatrix<T>> for MatrixSlice<'m, T>where
T: Zero + Clone,
Right-multiply a matrix by a permutation matrix.
sourceimpl<'a, 'b, T> Mul<T> for &'b MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
impl<'a, 'b, T> Mul<T> for &'b MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
Scalar multiplication with matrix slice.
sourceimpl<'a, T> Mul<T> for MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
impl<'a, T> Mul<T> for MatrixSlice<'a, T>where
T: Copy + Mul<T, Output = T>,
Scalar multiplication with matrix slice.
sourceimpl<'a, 'b, T> Neg for &'b MatrixSlice<'a, T>where
T: Neg<Output = T> + Copy,
impl<'a, 'b, T> Neg for &'b MatrixSlice<'a, T>where
T: Neg<Output = T> + Copy,
Gets negative of matrix slice.
sourceimpl<'a, T> Neg for MatrixSlice<'a, T>where
T: Neg<Output = T> + Copy,
impl<'a, T> Neg for MatrixSlice<'a, T>where
T: Neg<Output = T> + Copy,
Gets negative of matrix slice.
sourceimpl<'a, 'b, T> Sub<&'b Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<&'b Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, T> Sub<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, T> Sub<&'b T> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<&'b T> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Scalar subtraction with matrix slice.
sourceimpl<'a, 'b, 'c, T> Sub<&'c Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<&'c Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, T> Sub<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, T> Sub<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<&'c T> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Scalar subtraction with matrix slice.
sourceimpl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, T> Sub<Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<Matrix<T>> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, T> Sub<Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, T> Sub<Matrix<T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, T> Sub<MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<MatrixSlice<'a, T>> for &'b Matrix<T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, T> Sub<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
impl<'a, T> Sub<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
sourceimpl<'a, 'b, 'c, T> Sub<MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<MatrixSlice<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, T> Sub<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, T> Sub<MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<MatrixSlice<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, T> Sub<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, 'c, T> Sub<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> Sub<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, T> Sub<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction between the slices.
sourceimpl<'a, 'b, T> Sub<T> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> Sub<T> for &'b MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Scalar subtraction with matrix slice.
sourceimpl<'a, T> Sub<T> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, T> Sub<T> for MatrixSlice<'a, T>where
T: Copy + Sub<T, Output = T>,
Scalar subtraction with matrix slice.
sourceimpl<'a, 'b, T> SubAssign<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> SubAssign<&'b MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction assignment between two matrices.
sourcefn sub_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
fn sub_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
-=
operation. Read moresourceimpl<'a, 'b, 'c, T> SubAssign<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, 'c, T> SubAssign<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction assignment between two matrices.
sourcefn sub_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
fn sub_assign(&mut self, _rhs: &MatrixSlice<'_, T>)
-=
operation. Read moresourceimpl<'a, T> SubAssign<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
impl<'a, T> SubAssign<MatrixSlice<'a, T>> for Matrix<T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction assignment between two matrices.
sourcefn sub_assign(&mut self, _rhs: MatrixSlice<'_, T>)
fn sub_assign(&mut self, _rhs: MatrixSlice<'_, T>)
-=
operation. Read moresourceimpl<'a, 'b, T> SubAssign<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
impl<'a, 'b, T> SubAssign<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T>where
T: Copy + Sub<T, Output = T>,
Performs elementwise subtraction assignment between two matrices.
sourcefn sub_assign(&mut self, _rhs: MatrixSlice<'_, T>)
fn sub_assign(&mut self, _rhs: MatrixSlice<'_, T>)
-=
operation. Read more