[][src]Struct rulinalg::matrix::MatrixSliceMut

pub struct MatrixSliceMut<'a, 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>[src]

pub fn from_matrix(
    mat: &'a mut Matrix<T>,
    start: [usize; 2],
    rows: usize,
    cols: usize
) -> MatrixSliceMut<T>
[src]

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

pub unsafe fn from_raw_parts(
    ptr: *mut T,
    rows: usize,
    cols: usize,
    row_stride: usize
) -> MatrixSliceMut<'a, T>
[src]

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.

Trait Implementations

impl<'a, T> BaseMatrix<T> for MatrixSliceMut<'a, T>[src]

impl<'a, T> BaseMatrixMut<T> for MatrixSliceMut<'a, T>[src]

fn as_mut_ptr(&mut self) -> *mut T[src]

Top left index of the slice.

impl<'a, T> IntoIterator for MatrixSliceMut<'a, T>[src]

type Item = &'a mut T

The type of the elements being iterated over.

type IntoIter = SliceIterMut<'a, T>

Which kind of iterator are we turning this into?

impl<'a, T> IntoIterator for &'a MatrixSliceMut<'a, T>[src]

type Item = &'a T

The type of the elements being iterated over.

type IntoIter = SliceIter<'a, T>

Which kind of iterator are we turning this into?

impl<'a, T> IntoIterator for &'a mut MatrixSliceMut<'a, T>[src]

type Item = &'a mut T

The type of the elements being iterated over.

type IntoIter = SliceIterMut<'a, T>

Which kind of iterator are we turning this into?

impl<'a, T: Copy> From<MatrixSliceMut<'a, T>> for Matrix<T>[src]

impl<'a, T> Add<T> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Scalar addition with matrix slice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Scalar addition with matrix slice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Scalar addition with matrix slice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<&'c T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Scalar addition with matrix slice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying 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>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, 'd, T> Add<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying 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>, 
[src]

Performs elementwise addition between the slices.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, T> Add<Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<Matrix<T>> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<&'b Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<&'c Matrix<T>> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, T> Add<MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<MatrixSliceMut<'a, T>> for &'b Matrix<T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, T> Add<&'b MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, 'b, 'c, T> Add<&'c MatrixSliceMut<'a, T>> for &'b Matrix<T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the + operator.

impl<'a, T> Sub<T> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Scalar subtraction with matrix slice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Scalar subtraction with matrix slice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Scalar subtraction with matrix slice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<&'c T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Scalar subtraction with matrix slice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSlice<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<MatrixSliceMut<'b, T>> for MatrixSlice<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<&'c MatrixSliceMut<'b, T>> for MatrixSlice<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSliceMut<'b, T>> for &'c MatrixSlice<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, 'd, T> Sub<&'d MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between the slices.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, T> Sub<Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<Matrix<T>> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<&'b Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<&'c Matrix<T>> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, T> Sub<MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<MatrixSliceMut<'a, T>> for &'b Matrix<T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Sub<&'b MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, 'c, T> Sub<&'c MatrixSliceMut<'a, T>> for &'b Matrix<T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction between Matrix and MatrixSlice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, T> Mul<T> for MatrixSliceMut<'a, T> where
    T: Copy + Mul<T, Output = T>, 
[src]

Scalar multiplication with matrix slice.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Mul<T, Output = T>, 
[src]

Scalar multiplication with matrix slice.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Mul<T, Output = T>, 
[src]

Scalar multiplication with matrix slice.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'c, T> Mul<&'c T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Mul<T, Output = T>, 
[src]

Scalar multiplication with matrix slice.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, T> Mul<MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<&'b MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<MatrixSliceMut<'a, T>> for &'b Matrix<T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'c, T> Mul<&'c MatrixSliceMut<'a, T>> for &'b Matrix<T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, T> Mul<Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<&'b Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<Matrix<T>> for &'b MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'c, T> Mul<&'c Matrix<T>> for &'b MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

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>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, T> Mul<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'c, T> Mul<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'c, T> Mul<MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'c, 'd, T> Mul<&'d MatrixSliceMut<'b, T>> for &'c MatrixSliceMut<'a, T> where
    T: Any + Copy + Zero + Add<T, Output = T> + Mul<T, Output = T>, 
[src]

Multiplies two matrices together.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'm, T> Mul<&'a MatrixSliceMut<'m, T>> for PermutationMatrix<T> where
    T: Zero + Clone
[src]

Left-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'm, T> Mul<&'a MatrixSliceMut<'m, T>> for &'b PermutationMatrix<T> where
    T: Zero + Clone
[src]

Left-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'm, T> Mul<MatrixSliceMut<'m, T>> for PermutationMatrix<T> where
    T: Zero + Clone
[src]

Left-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'm, T> Mul<MatrixSliceMut<'m, T>> for &'b PermutationMatrix<T> where
    T: Zero + Clone
[src]

Left-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'm, T> Mul<PermutationMatrix<T>> for &'a MatrixSliceMut<'m, T> where
    T: Zero + Clone
[src]

Right-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'm, T> Mul<&'b PermutationMatrix<T>> for &'a MatrixSliceMut<'m, T> where
    T: Zero + Clone
[src]

Right-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'm, T> Mul<PermutationMatrix<T>> for MatrixSliceMut<'m, T> where
    T: Zero + Clone
[src]

Right-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, 'b, 'm, T> Mul<&'b PermutationMatrix<T>> for MatrixSliceMut<'m, T> where
    T: Zero + Clone
[src]

Right-multiply a matrix by a permutation matrix.

type Output = Matrix<T>

The resulting type after applying the * operator.

impl<'a, T> Div<T> for MatrixSliceMut<'a, T> where
    T: Copy + Div<T, Output = T>, 
[src]

Scalar division with matrix slice.

type Output = Matrix<T>

The resulting type after applying the / operator.

impl<'a, 'b, T> Div<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Div<T, Output = T>, 
[src]

Scalar division with matrix slice.

type Output = Matrix<T>

The resulting type after applying the / operator.

impl<'a, 'b, T> Div<T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Div<T, Output = T>, 
[src]

Scalar division with matrix slice.

type Output = Matrix<T>

The resulting type after applying the / operator.

impl<'a, 'b, 'c, T> Div<&'c T> for &'b MatrixSliceMut<'a, T> where
    T: Copy + Div<T, Output = T>, 
[src]

Scalar division with matrix slice.

type Output = Matrix<T>

The resulting type after applying the / operator.

impl<'a, T> Neg for MatrixSliceMut<'a, T> where
    T: Neg<Output = T> + Copy
[src]

Gets negative of matrix slice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, 'b, T> Neg for &'b MatrixSliceMut<'a, T> where
    T: Neg<Output = T> + Copy
[src]

Gets negative of matrix slice.

type Output = Matrix<T>

The resulting type after applying the - operator.

impl<'a, T> AddAssign<T> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs addition assignment between a mutable matrix slice and a scalar.

impl<'a, 'b, T> AddAssign<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs addition assignment between a mutable matrix slice and a scalar.

impl<'a, T> AddAssign<Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, 'b, T> AddAssign<&'b Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, 'b, T> AddAssign<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, 'b, 'c, T> AddAssign<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, 'b, T> AddAssign<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, 'b, 'c, T> AddAssign<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, T> AddAssign<MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, 'b, T> AddAssign<&'b MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Add<T, Output = T>, 
[src]

Performs elementwise addition assignment between two matrices.

impl<'a, T> SubAssign<T> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs subtraction assignment between a mutable matrix slice and a scalar.

impl<'a, 'b, T> SubAssign<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs subtraction assignment between a mutable matrix slice and a scalar.

impl<'a, T> SubAssign<Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, 'b, T> SubAssign<&'b Matrix<T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, 'b, T> SubAssign<MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, 'b, 'c, T> SubAssign<&'c MatrixSlice<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, 'b, T> SubAssign<MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, 'b, 'c, T> SubAssign<&'c MatrixSliceMut<'b, T>> for MatrixSliceMut<'a, T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, T> SubAssign<MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, 'b, T> SubAssign<&'b MatrixSliceMut<'a, T>> for Matrix<T> where
    T: Copy + Sub<T, Output = T>, 
[src]

Performs elementwise subtraction assignment between two matrices.

impl<'a, T> MulAssign<T> for MatrixSliceMut<'a, T> where
    T: Copy + Mul<T, Output = T>, 
[src]

Performs multiplication assignment between a mutable matrix slice and a scalar.

impl<'a, 'b, T> MulAssign<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Mul<T, Output = T>, 
[src]

Performs multiplication assignment between a mutable matrix slice and a scalar.

impl<'a, T> DivAssign<T> for MatrixSliceMut<'a, T> where
    T: Copy + Div<T, Output = T>, 
[src]

Performs division assignment between a mutable matrix slice and a scalar.

impl<'a, 'b, T> DivAssign<&'b T> for MatrixSliceMut<'a, T> where
    T: Copy + Div<T, Output = T>, 
[src]

Performs division assignment between a mutable matrix slice and a scalar.

impl<'a, T> Index<[usize; 2]> for MatrixSliceMut<'a, T>[src]

Indexes mutable matrix slice. Takes row index first then column.

type Output = T

The returned type after indexing.

impl<'a, T> IndexMut<[usize; 2]> for MatrixSliceMut<'a, T>[src]

Indexes mutable matrix slice.

Takes row index first then column.

impl<'a, T: Debug + 'a> Debug for MatrixSliceMut<'a, T>[src]

Auto Trait Implementations

impl<'a, T> !Sync for MatrixSliceMut<'a, T>

impl<'a, T> !Send for MatrixSliceMut<'a, T>

impl<'a, T> Unpin for MatrixSliceMut<'a, T>

impl<'a, T> !UnwindSafe for MatrixSliceMut<'a, T>

impl<'a, T> RefUnwindSafe for MatrixSliceMut<'a, T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]