Struct rusty_machine::linalg::MatrixSliceMut
[−]
pub struct MatrixSliceMut<'a, T> where T: 'a { /* fields omitted */ }
A mutable MatrixSliceMut
This struct provides a mutable slice into a matrix.
The struct contains the upper left point of the slice and the width and height of the slice.
Methods
impl<'a, T> MatrixSliceMut<'a, T>
fn from_matrix(mat: &'a mut Matrix<T>,
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSliceMut<'a, T>
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSliceMut<'a, T>
Produce a MatrixSliceMut
from a mutable Matrix
Examples
use rulinalg::matrix::{Matrix, MatrixSliceMut}; let mut a = Matrix::new(3,3, (0..9).collect::<Vec<usize>>()); let slice = MatrixSliceMut::from_matrix(&mut a, [1,1], 2, 2);
unsafe fn from_raw_parts(ptr: *mut T,
rows: usize,
cols: usize,
row_stride: usize)
-> MatrixSliceMut<'a, T>
rows: usize,
cols: usize,
row_stride: usize)
-> MatrixSliceMut<'a, T>
Creates a MatrixSliceMut
from raw parts.
Examples
use rulinalg::matrix::MatrixSliceMut; let mut a = vec![4.0; 16]; unsafe { // Create a mutable 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 = MatrixSliceMut::from_raw_parts(a.as_mut_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.
fn reslice(self,
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSliceMut<'a, T>
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSliceMut<'a, T>
Produce a MatrixSliceMut
from an existing MatrixSliceMut
.
This function will be deprecated. Prefer using BaseMatrixMut::sub_slice_mut
instead;
Examples
use rulinalg::matrix::{Matrix, MatrixSliceMut}; let mut a = Matrix::new(3,3, (0..9).collect::<Vec<usize>>()); let slice = MatrixSliceMut::from_matrix(&mut a, [1,1], 2, 2); let new_slice = slice.reslice([0,0], 1, 1);
Trait Implementations
impl<'a, T> Metric<T> for MatrixSliceMut<'a, T> where T: Float
fn norm(&self) -> T
Compute euclidean norm for matrix.
Examples
use rulinalg::matrix::{Matrix, MatrixSliceMut}; use rulinalg::Metric; let mut a = Matrix::new(2,1, vec![3.0,4.0]); let b = MatrixSliceMut::from_matrix(&mut a, [0,0], 2, 1); let c = b.norm(); assert_eq!(c, 5.0);
impl<'a, T> BaseMatrix<T> for MatrixSliceMut<'a, T>
fn rows(&self) -> usize
Rows in the matrix.
fn cols(&self) -> usize
Columns in the matrix.
fn row_stride(&self) -> usize
Row stride in the matrix.
fn as_ptr(&self) -> *const T
Top left index of the matrix.
fn is_empty(&self) -> bool
Returns true if the matrix contais no elements
fn as_slice(&self) -> MatrixSlice<T>
Returns a MatrixSlice
over the whole matrix. Read more
unsafe fn get_unchecked(&self, index: [usize; 2]) -> &T
Get a reference to a point in the matrix without bounds checking.
fn get_row(&self, index: usize) -> Option<&[T]>
Returns the row of a matrix at the given index. None
if the index is out of bounds. Read more
unsafe fn get_row_unchecked(&self, index: usize) -> &[T]
Returns the row of a matrix at the given index without doing unbounds checking Read more
fn iter<'a>(&self) -> SliceIter<'a, T> where T: 'a
Returns an iterator over the matrix data. Read more
fn iter_rows(&self) -> Rows<T>
Iterate over the rows of the matrix. Read more
fn iter_diag(&self, k: DiagOffset) -> Diagonal<T, Self>
Iterate over diagonal entries Read more
fn sum_rows(&self) -> Vector<T> where T: Copy + Zero<Output=T> + Add<T>
The sum of the rows of the matrix. Read more
fn sum_cols(&self) -> Vector<T> where T: Copy + Zero<Output=T> + Add<T>
The sum of the columns of the matrix. Read more
fn sum(&self) -> T where T: Copy + Zero<Output=T> + Add<T>
The sum of all elements in the matrix Read more
fn into_matrix(self) -> Matrix<T> where T: Copy
Convert the matrix struct into a owned Matrix.
fn select_rows<'a, I>(&self, rows: I) -> Matrix<T> where I: IntoIterator<Item=&'a usize>, T: Copy, I::IntoIter: ExactSizeIterator, I::IntoIter: Clone
Select rows from matrix Read more
fn select_cols<'a, I>(&self, cols: I) -> Matrix<T> where I: IntoIterator<Item=&'a usize>, T: Copy, I::IntoIter: ExactSizeIterator, I::IntoIter: Clone
Select columns from matrix Read more
fn elemul(&self, m: &Self) -> Matrix<T> where T: Copy + Mul<T, Output=T>
The elementwise product of two matrices. Read more
fn elediv(&self, m: &Self) -> Matrix<T> where T: Copy + Div<T, Output=T>
The elementwise division of two matrices. Read more
fn select(&self, rows: &[usize], cols: &[usize]) -> Matrix<T> where T: Copy
Select block matrix from matrix Read more
fn hcat<S>(&self, m: &S) -> Matrix<T> where S: BaseMatrix<T>, T: Copy
Horizontally concatenates two matrices. With self on the left. Read more
fn vcat<S>(&self, m: &S) -> Matrix<T> where S: BaseMatrix<T>, T: Copy
Vertically concatenates two matrices. With self on top. Read more
fn diag(&self) -> Vector<T> where T: Copy
Extract the diagonal of the matrix Read more
fn transpose(&self) -> Matrix<T> where T: Copy
Tranposes the given matrix Read more
fn is_diag(&self) -> bool where T: Zero + PartialEq<T>
Checks if matrix is diagonal. Read more
fn solve_u_triangular(&self, y: Vector<T>) -> Result<Vector<T>, Error> where T: Any + Float
Solves an upper triangular linear system. Read more
fn solve_l_triangular(&self, y: Vector<T>) -> Result<Vector<T>, Error> where T: Any + Float
Solves a lower triangular linear system. Read more
fn split_at(&self, mid: usize, axis: Axes) -> (MatrixSlice<T>, MatrixSlice<T>)
Split the matrix at the specified axis returning two MatrixSlice
s. Read more
fn sub_slice<'a>(&self,
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSlice<'a, T> where T: 'a
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSlice<'a, T> where T: 'a
Produce a MatrixSlice
from an existing matrix. Read more
impl<'a, T> AddAssign<T> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs addition assignment between a mutable matrix slice and a scalar.
fn add_assign(&mut self, _rhs: T)
impl<'a, 'b, T> AddAssign<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs addition assignment between a mutable matrix slice and a scalar.
fn add_assign(&mut self, _rhs: &T)
impl<'a, T> AddAssign<Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition assignment between two matrices.
fn add_assign(&mut self, _rhs: Matrix<T>)
impl<'a, 'b, T> AddAssign<&'b Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition assignment between two matrices.
fn add_assign(&mut self, _rhs: &Matrix<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.
fn add_assign(&mut self, _rhs: MatrixSlice<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.
fn add_assign(&mut self, _rhs: &MatrixSlice<T>)
impl<'a, 'b, T> AddAssign<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition assignment between two matrices.
fn add_assign(&mut self, _rhs: MatrixSliceMut<T>)
impl<'a, 'b, 'c, T> AddAssign<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition assignment between two matrices.
fn add_assign(&mut self, _rhs: &MatrixSliceMut<T>)
impl<'a, T> DivAssign<T> for MatrixSliceMut<'a, T> where T: Copy + Div<T, Output=T>
Performs division assignment between a mutable matrix slice and a scalar.
fn div_assign(&mut self, _rhs: T)
impl<'a, 'b, T> DivAssign<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Div<T, Output=T>
Performs division assignment between a mutable matrix slice and a scalar.
fn div_assign(&mut self, _rhs: &T)
impl<'a, T> MulAssign<T> for MatrixSliceMut<'a, T> where T: Copy + Mul<T, Output=T>
Performs multiplication assignment between a mutable matrix slice and a scalar.
fn mul_assign(&mut self, _rhs: T)
impl<'a, 'b, T> MulAssign<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Mul<T, Output=T>
Performs multiplication assignment between a mutable matrix slice and a scalar.
fn mul_assign(&mut self, _rhs: &T)
impl<'a, T> Sub<T> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Scalar subtraction with matrix slice.
impl<'a, 'b, T> Sub<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Scalar subtraction with matrix slice.
impl<'a, 'b, T> Sub<T> for &'b MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Scalar subtraction with matrix slice.
impl<'a, 'b, 'c, T> Sub<&'c T> for &'b MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Scalar subtraction with matrix slice.
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.
type Output = Matrix<T>
fn sub(self, s: MatrixSlice<T>) -> Matrix<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.
type Output = Matrix<T>
fn sub(self, s: MatrixSlice<T>) -> Matrix<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.
type Output = Matrix<T>
fn sub(self, s: &MatrixSlice<T>) -> Matrix<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.
type Output = Matrix<T>
fn sub(self, s: &MatrixSlice<T>) -> Matrix<T>
impl<'a, 'b, T> Sub<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction between the slices.
type Output = Matrix<T>
fn sub(self, s: MatrixSliceMut<T>) -> Matrix<T>
impl<'a, 'b, 'c, T> Sub<MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction between the slices.
type Output = Matrix<T>
fn sub(self, s: MatrixSliceMut<T>) -> Matrix<T>
impl<'a, 'b, 'c, T> Sub<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction between the slices.
type Output = Matrix<T>
fn sub(self, s: &MatrixSliceMut<T>) -> Matrix<T>
impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction between the slices.
type Output = Matrix<T>
fn sub(self, s: &MatrixSliceMut<T>) -> Matrix<T>
impl<'a, T> Sub<Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
impl<'a, 'b, T> Sub<Matrix<T>> for &'b MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
impl<'a, 'b, T> Sub<&'b Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
impl<'a, 'b, 'c, T> Sub<&'c Matrix<T>> for &'b MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise
subtraction
between Matrix
and MatrixSlice
.
impl<'a, T> Mul<T> for MatrixSliceMut<'a, T> where T: Copy + Mul<T, Output=T>
Scalar multiplication with matrix slice.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, f: T) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, T> Mul<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Mul<T, Output=T>
Scalar multiplication with matrix slice.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, f: &T) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, T> Mul<T> for &'b MatrixSliceMut<'a, T> where T: Copy + Mul<T, Output=T>
Scalar multiplication with matrix slice.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, f: T) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, T> Mul<&'c T> for &'b MatrixSliceMut<'a, T> where T: Copy + Mul<T, Output=T>
Scalar multiplication with matrix slice.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, f: &T) -> Matrix<T>
The method for the *
operator
impl<'a, T> Mul<Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: Matrix<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, T> Mul<&'b Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: &Matrix<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, T> Mul<Matrix<T>> for &'b MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: Matrix<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, T> Mul<&'c Matrix<T>> for &'b MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: &Matrix<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, T> Mul<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: MatrixSlice<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, T> Mul<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: &MatrixSlice<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, T> Mul<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: MatrixSlice<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: &MatrixSlice<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, T> Mul<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: MatrixSliceMut<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, T> Mul<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: &MatrixSliceMut<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, T> Mul<MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: MatrixSliceMut<T>) -> Matrix<T>
The method for the *
operator
impl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Zero<Output=T> + Add<T> + Mul<T, Output=T> + Any
Multiplies two matrices together.
type Output = Matrix<T>
The resulting type after applying the *
operator
fn mul(self, m: &MatrixSliceMut<T>) -> Matrix<T>
The method for the *
operator
impl<'a, T> BaseMatrixMut<T> for MatrixSliceMut<'a, T>
fn as_mut_ptr(&mut self) -> *mut T
Top left index of the slice.
fn as_mut_slice(&mut self) -> MatrixSliceMut<T>
Returns a MatrixSliceMut
over the whole matrix. Read more
unsafe fn get_unchecked_mut(&mut self, index: [usize; 2]) -> &mut T
Get a mutable reference to a point in the matrix without bounds checks.
fn iter_mut<'a>(&mut self) -> SliceIterMut<'a, T> where T: 'a
Returns a mutable iterator over the matrix. Read more
fn get_row_mut(&mut self, index: usize) -> Option<&mut [T]>
Returns a mutable reference to the row of a matrix at the given index. None
if the index is out of bounds. Read more
unsafe fn get_row_unchecked_mut(&mut self, index: usize) -> &mut [T]
Returns a mutable reference to the row of a matrix at the given index without doing unbounds checking Read more
fn swap_rows(&mut self, a: usize, b: usize)
Swaps two rows in a matrix. Read more
fn swap_cols(&mut self, a: usize, b: usize)
Swaps two columns in a matrix. Read more
fn iter_rows_mut(&mut self) -> RowsMut<T>
Iterate over the mutable rows of the matrix. Read more
fn iter_diag_mut(&mut self, k: DiagOffset) -> DiagonalMut<T, Self>
Iterate over diagonal entries mutably Read more
fn set_to<M>(self, target: M) where M: BaseMatrix<T>, T: Copy
Sets the underlying matrix data to the target data. Read more
fn apply(self, f: &Fn(T)) -> Self where T: Copy
Applies a function to each element in the matrix. Read more
fn split_at_mut(&mut self,
mid: usize,
axis: Axes)
-> (MatrixSliceMut<T>, MatrixSliceMut<T>)
mid: usize,
axis: Axes)
-> (MatrixSliceMut<T>, MatrixSliceMut<T>)
Split the matrix at the specified axis returning two MatrixSliceMut
s. Read more
fn sub_slice_mut<'a>(&mut self,
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSliceMut<'a, T> where T: 'a
start: [usize; 2],
rows: usize,
cols: usize)
-> MatrixSliceMut<'a, T> where T: 'a
Produce a MatrixSliceMut
from an existing matrix. Read more
impl<'a, T> Index<[usize; 2]> for MatrixSliceMut<'a, T>
Indexes mutable matrix slice. Takes row index first then column.
impl<'a, T> Add<T> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Scalar addition with matrix slice.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, f: T) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, T> Add<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Scalar addition with matrix slice.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, f: &T) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, T> Add<T> for &'b MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Scalar addition with matrix slice.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, f: T) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, 'c, T> Add<&'c T> for &'b MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Scalar addition with matrix slice.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, f: &T) -> Matrix<T>
The method for the +
operator
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.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: MatrixSlice<T>) -> Matrix<T>
The method for the +
operator
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.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: MatrixSlice<T>) -> Matrix<T>
The method for the +
operator
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.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: &MatrixSlice<T>) -> Matrix<T>
The method for the +
operator
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.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: &MatrixSlice<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, T> Add<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition between the slices.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: MatrixSliceMut<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, 'c, T> Add<MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition between the slices.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: MatrixSliceMut<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, 'c, T> Add<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition between the slices.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: &MatrixSliceMut<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise addition between the slices.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, s: &MatrixSliceMut<T>) -> Matrix<T>
The method for the +
operator
impl<'a, T> Add<Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise
addition
between Matrix
and MatrixSlice
.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, m: Matrix<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, T> Add<Matrix<T>> for &'b MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise
addition
between Matrix
and MatrixSlice
.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, m: Matrix<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, T> Add<&'b Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise
addition
between Matrix
and MatrixSlice
.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, m: &Matrix<T>) -> Matrix<T>
The method for the +
operator
impl<'a, 'b, 'c, T> Add<&'c Matrix<T>> for &'b MatrixSliceMut<'a, T> where T: Copy + Add<T, Output=T>
Performs elementwise
addition
between Matrix
and MatrixSlice
.
type Output = Matrix<T>
The resulting type after applying the +
operator
fn add(self, m: &Matrix<T>) -> Matrix<T>
The method for the +
operator
impl<'a, T> IndexMut<[usize; 2]> for MatrixSliceMut<'a, T>
Indexes mutable matrix slice.
Takes row index first then column.
impl<'a, T> Debug for MatrixSliceMut<'a, T> where T: 'a + Debug
fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl<'a, T> IntoIterator for MatrixSliceMut<'a, T>
type Item = &'a mut T
type IntoIter = SliceIterMut<'a, T>
fn into_iter(self) -> MatrixSliceMut<'a, T>::IntoIter
impl<'a, T> IntoIterator for &'a MatrixSliceMut<'a, T>
type Item = &'a T
type IntoIter = SliceIter<'a, T>
fn into_iter(self) -> &'a MatrixSliceMut<'a, T>::IntoIter
impl<'a, T> IntoIterator for &'a mut MatrixSliceMut<'a, T>
type Item = &'a mut T
type IntoIter = SliceIterMut<'a, T>
fn into_iter(self) -> &'a mut MatrixSliceMut<'a, T>::IntoIter
impl<'a, T> SubAssign<T> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs subtraction assignment between a mutable matrix slice and a scalar.
fn sub_assign(&mut self, _rhs: T)
impl<'a, 'b, T> SubAssign<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs subtraction assignment between a mutable matrix slice and a scalar.
fn sub_assign(&mut self, _rhs: &T)
impl<'a, T> SubAssign<Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction assignment between two matrices.
fn sub_assign(&mut self, _rhs: Matrix<T>)
impl<'a, 'b, T> SubAssign<&'b Matrix<T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction assignment between two matrices.
fn sub_assign(&mut self, _rhs: &Matrix<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.
fn sub_assign(&mut self, _rhs: MatrixSlice<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.
fn sub_assign(&mut self, _rhs: &MatrixSlice<T>)
impl<'a, 'b, T> SubAssign<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction assignment between two matrices.
fn sub_assign(&mut self, _rhs: MatrixSliceMut<T>)
impl<'a, 'b, 'c, T> SubAssign<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction assignment between two matrices.
fn sub_assign(&mut self, _rhs: &MatrixSliceMut<T>)
impl<'a, T> Div<T> for MatrixSliceMut<'a, T> where T: Copy + Div<T, Output=T>
Scalar division with matrix slice.
impl<'a, 'b, T> Div<&'b T> for MatrixSliceMut<'a, T> where T: Copy + Div<T, Output=T>
Scalar division with matrix slice.
impl<'a, 'b, T> Div<T> for &'b MatrixSliceMut<'a, T> where T: Copy + Div<T, Output=T>
Scalar division with matrix slice.
impl<'a, 'b, 'c, T> Div<&'c T> for &'b MatrixSliceMut<'a, T> where T: Copy + Div<T, Output=T>
Scalar division with matrix slice.
impl<'a, T> Neg for MatrixSliceMut<'a, T> where T: Neg<Output=T> + Copy
Gets negative of matrix slice.
impl<'a, 'b, T> Neg for &'b MatrixSliceMut<'a, T> where T: Neg<Output=T> + Copy
Gets negative of matrix slice.