Skip to main content

Matrix

Struct Matrix 

Source
#[non_exhaustive]
#[repr(transparent)]
pub struct Matrix<T, const R: usize, const C: usize, const LEN: usize> { pub data: [T; LEN], }
Available on crate feature alg only.
Expand description

A static R × C matrix backed by a contiguous row-major array.


📍 num/alg::Matrix


R is the number of rows and C is the number of columns.

Elements are stored in row-major order: all columns of the first row, followed by all columns of the second row, and so on.

LEN is the number of stored elements and must equal R * C. It is an explicit parameter because stable Rust cannot yet generally use R * C as an array length involving outer const parameters.

The shape relationship is validated by its constructors.

§Coordinates

Element coordinates use (row, column) order.

use devela::Matrix;

let matrix = Matrix::<_, 2, 3, 6>::new([
    1, 2, 3,
    4, 5, 6,
]);
assert_eq!(matrix[(0, 2)], 3);
assert_eq!(matrix[(1, 0)], 4);

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§data: [T; LEN]

The matrix elements in contiguous row-major order.

Implementations§

Source§

impl<T, const R: usize, const C: usize, const LEN: usize> Matrix<T, R, C, LEN>

Source

pub const ROWS: usize = R

The number of matrix rows.

Source

pub const COLUMNS: usize = C

The number of matrix columns.

Source

pub const ELEMENTS: usize = LEN

The number of stored elements.

Source

pub const fn new(data: [T; LEN]) -> Self

Creates a matrix from its contiguous row-major elements.

§Panics

Panics if:

  • R * C cannot be represented by usize, or
  • LEN != R * C.
Source

pub const fn row_count(&self) -> usize

Returns the number of matrix rows.

Source

pub const fn column_count(&self) -> usize

Returns the number of matrix columns.

Source

pub const fn len(&self) -> usize

Returns the number of stored elements.

Source

pub const fn is_empty(&self) -> bool

Returns whether the matrix contains no elements.

For a valid matrix this is equivalent to either dimension being zero.

Source

pub const fn is_square(&self) -> bool

Returns whether the matrix has the same number of rows and columns.

Source

pub const fn get_index(row: usize, column: usize) -> Option<usize>

Returns the flat row-major index of (row, column).

Returns None when either coordinate is out of bounds or when the declared dimensions cannot be multiplied without overflow.

Matrix coordinates map to Order coordinates as:

  • column → x,
  • row → y,
  • C → width.
Source

pub const fn get(&self, row: usize, column: usize) -> Option<&T>

Returns a shared reference to the element at (row, column).

Returns None when either coordinate is out of bounds.

Source

pub const fn get_mut(&mut self, row: usize, column: usize) -> Option<&mut T>

Returns an exclusive reference to the element at (row, column).

Returns None when either coordinate is out of bounds.

Source

pub const fn at_ref(&self, row: usize, column: usize) -> &T

Returns a shared reference to the element at (row, column).

§Panics

Panics when either coordinate is out of bounds.

Source

pub const fn at_mut(&mut self, row: usize, column: usize) -> &mut T

Returns an exclusive reference to the element at (row, column).

§Panics

Panics when either coordinate is out of bounds.

Source§

impl<T: Copy, const R: usize, const C: usize, const LEN: usize> Matrix<T, R, C, LEN>

Source

pub const fn at(&self, row: usize, column: usize) -> T

Returns a copy of the element at (row, column).

§Panics

Panics when either coordinate is out of bounds.

Source

pub const fn splat(value: T) -> Self

Returns a matrix whose elements are all value.

Source

pub const fn transpose(&self) -> Matrix<T, C, R, LEN>

Returns the transpose of this matrix.

Rows become columns while preserving the same number of elements:

Matrix<T, R, C, LEN> → Matrix<T, C, R, LEN>.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i8, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: i8) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<i8, C>) -> Vector<i8, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i8, R, INNER, LEFT_LEN>, right: &Matrix<i8, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<i8, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> i8

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i8, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: i8) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: i8) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i8, R, INNER, LEFT_LEN>, right: &Matrix<i8, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<i8, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i8, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Each entry follows the negation semantics of its primitive type.

Source

pub const fn checked_neg(self) -> Option<Self>

Returns the entry-wise negation.

Returns None if any entry is the minimum representable value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i16, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: i16) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<i16, C>) -> Vector<i16, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i16, R, INNER, LEFT_LEN>, right: &Matrix<i16, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<i16, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> i16

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i16, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: i16) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: i16) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i16, R, INNER, LEFT_LEN>, right: &Matrix<i16, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<i16, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i16, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Each entry follows the negation semantics of its primitive type.

Source

pub const fn checked_neg(self) -> Option<Self>

Returns the entry-wise negation.

Returns None if any entry is the minimum representable value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i32, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: i32) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<i32, C>) -> Vector<i32, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i32, R, INNER, LEFT_LEN>, right: &Matrix<i32, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<i32, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> i32

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i32, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: i32) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: i32) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i32, R, INNER, LEFT_LEN>, right: &Matrix<i32, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<i32, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i32, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Each entry follows the negation semantics of its primitive type.

Source

pub const fn checked_neg(self) -> Option<Self>

Returns the entry-wise negation.

Returns None if any entry is the minimum representable value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i64, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: i64) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<i64, C>) -> Vector<i64, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i64, R, INNER, LEFT_LEN>, right: &Matrix<i64, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<i64, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> i64

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i64, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: i64) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: i64) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i64, R, INNER, LEFT_LEN>, right: &Matrix<i64, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<i64, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i64, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Each entry follows the negation semantics of its primitive type.

Source

pub const fn checked_neg(self) -> Option<Self>

Returns the entry-wise negation.

Returns None if any entry is the minimum representable value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i128, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: i128) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<i128, C>) -> Vector<i128, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i128, R, INNER, LEFT_LEN>, right: &Matrix<i128, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<i128, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> i128

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i128, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: i128) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: i128) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<i128, R, INNER, LEFT_LEN>, right: &Matrix<i128, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<i128, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<i128, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Each entry follows the negation semantics of its primitive type.

Source

pub const fn checked_neg(self) -> Option<Self>

Returns the entry-wise negation.

Returns None if any entry is the minimum representable value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<isize, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: isize) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<isize, C>) -> Vector<isize, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<isize, R, INNER, LEFT_LEN>, right: &Matrix<isize, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<isize, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> isize

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<isize, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: isize) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: isize) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<isize, R, INNER, LEFT_LEN>, right: &Matrix<isize, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<isize, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<isize, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Each entry follows the negation semantics of its primitive type.

Source

pub const fn checked_neg(self) -> Option<Self>

Returns the entry-wise negation.

Returns None if any entry is the minimum representable value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u8, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: u8) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<u8, C>) -> Vector<u8, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u8, R, INNER, LEFT_LEN>, right: &Matrix<u8, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<u8, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> u8

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u8, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: u8) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: u8) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u8, R, INNER, LEFT_LEN>, right: &Matrix<u8, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<u8, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u16, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: u16) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<u16, C>) -> Vector<u16, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u16, R, INNER, LEFT_LEN>, right: &Matrix<u16, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<u16, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> u16

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u16, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: u16) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: u16) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u16, R, INNER, LEFT_LEN>, right: &Matrix<u16, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<u16, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u32, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: u32) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<u32, C>) -> Vector<u32, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u32, R, INNER, LEFT_LEN>, right: &Matrix<u32, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<u32, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> u32

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u32, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: u32) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: u32) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u32, R, INNER, LEFT_LEN>, right: &Matrix<u32, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<u32, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u64, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: u64) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<u64, C>) -> Vector<u64, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u64, R, INNER, LEFT_LEN>, right: &Matrix<u64, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<u64, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> u64

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u64, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: u64) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: u64) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u64, R, INNER, LEFT_LEN>, right: &Matrix<u64, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<u64, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u128, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: u128) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<u128, C>) -> Vector<u128, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u128, R, INNER, LEFT_LEN>, right: &Matrix<u128, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<u128, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> u128

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<u128, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: u128) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: u128) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<u128, R, INNER, LEFT_LEN>, right: &Matrix<u128, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<u128, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<usize, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: usize) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<usize, C>) -> Vector<usize, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<usize, R, INNER, LEFT_LEN>, right: &Matrix<usize, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<usize, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> usize

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<usize, R, C, LEN>

Source

pub const fn div_scalar(self, scalar: usize) -> Self

Divides every matrix entry by scalar.

§Panics

Panics if scalar is zero.

For signed integers, it also panics if an entry is the minimum representable value and scalar is -1.

Source

pub const fn checked_div_scalar(self, scalar: usize) -> Option<Self>

Returns the entry-wise quotient.

Returns None if scalar is zero or if any entry division overflows.

Source

pub const fn checked_product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<usize, R, INNER, LEFT_LEN>, right: &Matrix<usize, INNER, C, RIGHT_LEN>, ) -> Option<Self>

Returns the checked matrix product of left and right.

Returns None if any individual multiplication or accumulation overflows.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Source§

impl<const N: usize, const LEN: usize> Matrix<usize, N, N, LEN>

Source

pub const fn checked_mul_square(&self, other: &Self) -> Option<Self>

Returns the checked product of two square matrices.

Returns None if any multiplication or accumulation overflows.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<f32, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: f32) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<f32, C>) -> Vector<f32, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<f32, R, INNER, LEFT_LEN>, right: &Matrix<f32, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<f32, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> f32

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<f32, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Source

pub const fn div_scalar(self, scalar: f32) -> Self

Divides every matrix entry by scalar.

Each entry follows IEEE 754 floating-point division semantics.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<f64, R, C, LEN>

Source

pub const ZERO: Self

A matrix whose elements are all zero.

Source

pub const fn add(self, other: Self) -> Self

Adds another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn sub(self, other: Self) -> Self

Subtracts another matrix entry by entry.

Each entry follows the arithmetic semantics of its primitive type.

Source

pub const fn mul_scalar(self, scalar: f64) -> Self

Multiplies every matrix entry by scalar.

Source

pub const fn mul_vector(&self, vector: &Vector<f64, C>) -> Vector<f64, R>

Multiplies this matrix by a column vector.

An R × C matrix maps a C-dimensional vector to an R-dimensional vector.

Each accumulation follows the arithmetic semantics of the primitive element type.

Source

pub const fn product<const INNER: usize, const LEFT_LEN: usize, const RIGHT_LEN: usize>( left: &Matrix<f64, R, INNER, LEFT_LEN>, right: &Matrix<f64, INNER, C, RIGHT_LEN>, ) -> Self

Returns the matrix product of left and right.

left has shape R × INNER, right has shape INNER × C, and the resulting matrix has shape R × C.

Each multiplication and accumulation follows the arithmetic semantics of the primitive element type.

§Panics

Panics if the declared backing lengths do not match their matrix dimensions.

Source§

impl<const N: usize, const LEN: usize> Matrix<f64, N, N, LEN>

Source

pub const IDENTITY: Self

The square identity matrix.

Source

pub const fn mul_square(&self, other: &Self) -> Self

Multiplies this square matrix by another square matrix.

Source

pub const fn trace(&self) -> f64

Returns the trace: the sum of the main diagonal entries.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Matrix<f64, R, C, LEN>

Source

pub const fn neg(self) -> Self

Negates every matrix entry.

Source

pub const fn div_scalar(self, scalar: f64) -> Self

Divides every matrix entry by scalar.

Each entry follows IEEE 754 floating-point division semantics.

Trait Implementations§

Source§

impl<T: Add<U>, U, const R: usize, const C: usize, const LEN: usize> Add<Matrix<U, R, C, LEN>> for Matrix<T, R, C, LEN>

Source§

type Output = Matrix<<T as Add<U>>::Output, R, C, LEN>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Matrix<U, R, C, LEN>) -> Self::Output

Performs the + operation. Read more
Source§

impl<T: AddAssign<U>, U, const R: usize, const C: usize, const LEN: usize> AddAssign<Matrix<U, R, C, LEN>> for Matrix<T, R, C, LEN>

Source§

fn add_assign(&mut self, rhs: Matrix<U, R, C, LEN>)

Performs the += operation. Read more
Source§

impl<T, const R: usize, const C: usize, const LEN: usize> AsMut<[T]> for Matrix<T, R, C, LEN>

Source§

fn as_mut(&mut self) -> &mut [T]

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<T, const R: usize, const C: usize, const LEN: usize> AsRef<[T]> for Matrix<T, R, C, LEN>

Source§

fn as_ref(&self) -> &[T]

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Clone, const R: usize, const C: usize, const LEN: usize> Clone for Matrix<T, R, C, LEN>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T: ConstInit, const R: usize, const C: usize, const LEN: usize> ConstInit for Matrix<T, R, C, LEN>

Source§

const INIT: Self

A matrix filled with each element’s initial value.

Source§

impl<T: Copy, const R: usize, const C: usize, const LEN: usize> Copy for Matrix<T, R, C, LEN>

Source§

impl<T: Debug, const R: usize, const C: usize, const LEN: usize> Debug for Matrix<T, R, C, LEN>

Source§

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

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

impl<T: Default, const R: usize, const C: usize, const LEN: usize> Default for Matrix<T, R, C, LEN>

Source§

fn default() -> Self

Returns a matrix filled with each element’s default value.

Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<f32> for Matrix<f32, R, C, LEN>

Source§

type Output = Matrix<f32, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: f32) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<f64> for Matrix<f64, R, C, LEN>

Source§

type Output = Matrix<f64, R, C, LEN>

The resulting type after applying the / operator.
Source§

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

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<i8> for Matrix<i8, R, C, LEN>

Source§

type Output = Matrix<i8, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: i8) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<i16> for Matrix<i16, R, C, LEN>

Source§

type Output = Matrix<i16, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: i16) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<i32> for Matrix<i32, R, C, LEN>

Source§

type Output = Matrix<i32, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: i32) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<i64> for Matrix<i64, R, C, LEN>

Source§

type Output = Matrix<i64, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: i64) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<i128> for Matrix<i128, R, C, LEN>

Source§

type Output = Matrix<i128, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: i128) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<isize> for Matrix<isize, R, C, LEN>

Source§

type Output = Matrix<isize, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: isize) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<u8> for Matrix<u8, R, C, LEN>

Source§

type Output = Matrix<u8, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: u8) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<u16> for Matrix<u16, R, C, LEN>

Source§

type Output = Matrix<u16, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: u16) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<u32> for Matrix<u32, R, C, LEN>

Source§

type Output = Matrix<u32, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: u32) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<u64> for Matrix<u64, R, C, LEN>

Source§

type Output = Matrix<u64, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: u64) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<u128> for Matrix<u128, R, C, LEN>

Source§

type Output = Matrix<u128, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: u128) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Div<usize> for Matrix<usize, R, C, LEN>

Source§

type Output = Matrix<usize, R, C, LEN>

The resulting type after applying the / operator.
Source§

fn div(self, scalar: usize) -> Self::Output

Performs the / operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<f32> for Matrix<f32, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: f32)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<f64> for Matrix<f64, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: f64)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<i8> for Matrix<i8, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: i8)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<i16> for Matrix<i16, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: i16)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<i32> for Matrix<i32, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: i32)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<i64> for Matrix<i64, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: i64)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<i128> for Matrix<i128, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: i128)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<isize> for Matrix<isize, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: isize)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<u8> for Matrix<u8, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: u8)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<u16> for Matrix<u16, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: u16)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<u32> for Matrix<u32, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: u32)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<u64> for Matrix<u64, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: u64)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<u128> for Matrix<u128, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: u128)

Performs the /= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> DivAssign<usize> for Matrix<usize, R, C, LEN>

Source§

fn div_assign(&mut self, scalar: usize)

Performs the /= operation. Read more
Source§

impl<T: Eq, const R: usize, const C: usize, const LEN: usize> Eq for Matrix<T, R, C, LEN>

Source§

impl<T: Hash, const R: usize, const C: usize, const LEN: usize> Hash for Matrix<T, R, C, LEN>

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T, const R: usize, const C: usize, const LEN: usize> Index<(usize, usize)> for Matrix<T, R, C, LEN>

Source§

fn index(&self, index: (usize, usize)) -> &Self::Output

Returns the element at (row, column).

§Panics

Panics when either coordinate is out of bounds.

Source§

type Output = T

The returned type after indexing.
Source§

impl<T, const R: usize, const C: usize, const LEN: usize> IndexMut<(usize, usize)> for Matrix<T, R, C, LEN>

Source§

fn index_mut(&mut self, index: (usize, usize)) -> &mut Self::Output

Returns the element at (row, column) mutably.

§Panics

Panics when either coordinate is out of bounds.

Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<i8, N, N, LEN>

Source§

type Output = Matrix<i8, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<i16, N, N, LEN>

Source§

type Output = Matrix<i16, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<i32, N, N, LEN>

Source§

type Output = Matrix<i32, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<i64, N, N, LEN>

Source§

type Output = Matrix<i64, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<i128, N, N, LEN>

Source§

type Output = Matrix<i128, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<isize, N, N, LEN>

Source§

type Output = Matrix<isize, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<u8, N, N, LEN>

Source§

type Output = Matrix<u8, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<u16, N, N, LEN>

Source§

type Output = Matrix<u16, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<u32, N, N, LEN>

Source§

type Output = Matrix<u32, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<u64, N, N, LEN>

Source§

type Output = Matrix<u64, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<u128, N, N, LEN>

Source§

type Output = Matrix<u128, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<usize, N, N, LEN>

Source§

type Output = Matrix<usize, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<f32, N, N, LEN>

Source§

type Output = Matrix<f32, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul for Matrix<f64, N, N, LEN>

Source§

type Output = Matrix<f64, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<f32, N, N, LEN>> for &Matrix<f32, N, N, LEN>

Source§

type Output = Matrix<f32, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<f32, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<f64, N, N, LEN>> for &Matrix<f64, N, N, LEN>

Source§

type Output = Matrix<f64, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<f64, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<i8, N, N, LEN>> for &Matrix<i8, N, N, LEN>

Source§

type Output = Matrix<i8, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<i8, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<i16, N, N, LEN>> for &Matrix<i16, N, N, LEN>

Source§

type Output = Matrix<i16, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<i16, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<i32, N, N, LEN>> for &Matrix<i32, N, N, LEN>

Source§

type Output = Matrix<i32, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<i32, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<i64, N, N, LEN>> for &Matrix<i64, N, N, LEN>

Source§

type Output = Matrix<i64, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<i64, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<i128, N, N, LEN>> for &Matrix<i128, N, N, LEN>

Source§

type Output = Matrix<i128, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<i128, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<isize, N, N, LEN>> for &Matrix<isize, N, N, LEN>

Source§

type Output = Matrix<isize, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<isize, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<u8, N, N, LEN>> for &Matrix<u8, N, N, LEN>

Source§

type Output = Matrix<u8, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<u8, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<u16, N, N, LEN>> for &Matrix<u16, N, N, LEN>

Source§

type Output = Matrix<u16, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<u16, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<u32, N, N, LEN>> for &Matrix<u32, N, N, LEN>

Source§

type Output = Matrix<u32, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<u32, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<u64, N, N, LEN>> for &Matrix<u64, N, N, LEN>

Source§

type Output = Matrix<u64, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<u64, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<u128, N, N, LEN>> for &Matrix<u128, N, N, LEN>

Source§

type Output = Matrix<u128, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<u128, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> Mul<&Matrix<usize, N, N, LEN>> for &Matrix<usize, N, N, LEN>

Source§

type Output = Matrix<usize, N, N, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Matrix<usize, N, N, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<f32, C>> for &Matrix<f32, R, C, LEN>

Source§

type Output = Vector<f32, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<f32, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<f64, C>> for &Matrix<f64, R, C, LEN>

Source§

type Output = Vector<f64, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<f64, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<i8, C>> for &Matrix<i8, R, C, LEN>

Source§

type Output = Vector<i8, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<i8, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<i16, C>> for &Matrix<i16, R, C, LEN>

Source§

type Output = Vector<i16, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<i16, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<i32, C>> for &Matrix<i32, R, C, LEN>

Source§

type Output = Vector<i32, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<i32, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<i64, C>> for &Matrix<i64, R, C, LEN>

Source§

type Output = Vector<i64, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<i64, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<i128, C>> for &Matrix<i128, R, C, LEN>

Source§

type Output = Vector<i128, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<i128, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<isize, C>> for &Matrix<isize, R, C, LEN>

Source§

type Output = Vector<isize, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<isize, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<u8, C>> for &Matrix<u8, R, C, LEN>

Source§

type Output = Vector<u8, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<u8, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<u16, C>> for &Matrix<u16, R, C, LEN>

Source§

type Output = Vector<u16, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<u16, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<u32, C>> for &Matrix<u32, R, C, LEN>

Source§

type Output = Vector<u32, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<u32, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<u64, C>> for &Matrix<u64, R, C, LEN>

Source§

type Output = Vector<u64, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<u64, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<u128, C>> for &Matrix<u128, R, C, LEN>

Source§

type Output = Vector<u128, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<u128, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<&Vector<usize, C>> for &Matrix<usize, R, C, LEN>

Source§

type Output = Vector<usize, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: &Vector<usize, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<f32, R, C, LEN>> for f32

Source§

type Output = Matrix<f32, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<f32, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<f64, R, C, LEN>> for f64

Source§

type Output = Matrix<f64, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<f64, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<i8, R, C, LEN>> for i8

Source§

type Output = Matrix<i8, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<i8, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<i16, R, C, LEN>> for i16

Source§

type Output = Matrix<i16, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<i16, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<i32, R, C, LEN>> for i32

Source§

type Output = Matrix<i32, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<i32, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<i64, R, C, LEN>> for i64

Source§

type Output = Matrix<i64, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<i64, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<i128, R, C, LEN>> for i128

Source§

type Output = Matrix<i128, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<i128, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<isize, R, C, LEN>> for isize

Source§

type Output = Matrix<isize, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<isize, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<u8, R, C, LEN>> for u8

Source§

type Output = Matrix<u8, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<u8, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<u16, R, C, LEN>> for u16

Source§

type Output = Matrix<u16, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<u16, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<u32, R, C, LEN>> for u32

Source§

type Output = Matrix<u32, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<u32, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<u64, R, C, LEN>> for u64

Source§

type Output = Matrix<u64, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<u64, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<u128, R, C, LEN>> for u128

Source§

type Output = Matrix<u128, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<u128, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Matrix<usize, R, C, LEN>> for usize

Source§

type Output = Matrix<usize, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, matrix: Matrix<usize, R, C, LEN>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<f32, C>> for Matrix<f32, R, C, LEN>

Source§

type Output = Vector<f32, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<f32, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<f64, C>> for Matrix<f64, R, C, LEN>

Source§

type Output = Vector<f64, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<f64, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<i8, C>> for Matrix<i8, R, C, LEN>

Source§

type Output = Vector<i8, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<i8, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<i16, C>> for Matrix<i16, R, C, LEN>

Source§

type Output = Vector<i16, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<i16, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<i32, C>> for Matrix<i32, R, C, LEN>

Source§

type Output = Vector<i32, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<i32, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<i64, C>> for Matrix<i64, R, C, LEN>

Source§

type Output = Vector<i64, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<i64, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<i128, C>> for Matrix<i128, R, C, LEN>

Source§

type Output = Vector<i128, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<i128, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<isize, C>> for Matrix<isize, R, C, LEN>

Source§

type Output = Vector<isize, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<isize, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<u8, C>> for Matrix<u8, R, C, LEN>

Source§

type Output = Vector<u8, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<u8, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<u16, C>> for Matrix<u16, R, C, LEN>

Source§

type Output = Vector<u16, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<u16, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<u32, C>> for Matrix<u32, R, C, LEN>

Source§

type Output = Vector<u32, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<u32, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<u64, C>> for Matrix<u64, R, C, LEN>

Source§

type Output = Vector<u64, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<u64, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<u128, C>> for Matrix<u128, R, C, LEN>

Source§

type Output = Vector<u128, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<u128, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<Vector<usize, C>> for Matrix<usize, R, C, LEN>

Source§

type Output = Vector<usize, R>

The resulting type after applying the * operator.
Source§

fn mul(self, vector: Vector<usize, C>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<f32> for Matrix<f32, R, C, LEN>

Source§

type Output = Matrix<f32, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: f32) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<f64> for Matrix<f64, R, C, LEN>

Source§

type Output = Matrix<f64, R, C, LEN>

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<i8> for Matrix<i8, R, C, LEN>

Source§

type Output = Matrix<i8, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: i8) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<i16> for Matrix<i16, R, C, LEN>

Source§

type Output = Matrix<i16, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: i16) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<i32> for Matrix<i32, R, C, LEN>

Source§

type Output = Matrix<i32, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: i32) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<i64> for Matrix<i64, R, C, LEN>

Source§

type Output = Matrix<i64, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: i64) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<i128> for Matrix<i128, R, C, LEN>

Source§

type Output = Matrix<i128, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: i128) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<isize> for Matrix<isize, R, C, LEN>

Source§

type Output = Matrix<isize, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: isize) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<u8> for Matrix<u8, R, C, LEN>

Source§

type Output = Matrix<u8, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: u8) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<u16> for Matrix<u16, R, C, LEN>

Source§

type Output = Matrix<u16, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: u16) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<u32> for Matrix<u32, R, C, LEN>

Source§

type Output = Matrix<u32, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: u32) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<u64> for Matrix<u64, R, C, LEN>

Source§

type Output = Matrix<u64, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: u64) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<u128> for Matrix<u128, R, C, LEN>

Source§

type Output = Matrix<u128, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: u128) -> Self::Output

Performs the * operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> Mul<usize> for Matrix<usize, R, C, LEN>

Source§

type Output = Matrix<usize, R, C, LEN>

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: usize) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<i8, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<i16, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<i32, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<i64, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<i128, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<isize, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<u8, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<u16, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<u32, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<u64, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<u128, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<usize, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<f32, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const N: usize, const LEN: usize> MulAssign for Matrix<f64, N, N, LEN>

Source§

fn mul_assign(&mut self, other: Self)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<f32> for Matrix<f32, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: f32)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<f64> for Matrix<f64, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: f64)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<i8> for Matrix<i8, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: i8)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<i16> for Matrix<i16, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: i16)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<i32> for Matrix<i32, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: i32)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<i64> for Matrix<i64, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: i64)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<i128> for Matrix<i128, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: i128)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<isize> for Matrix<isize, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: isize)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<u8> for Matrix<u8, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: u8)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<u16> for Matrix<u16, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: u16)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<u32> for Matrix<u32, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: u32)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<u64> for Matrix<u64, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: u64)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<u128> for Matrix<u128, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: u128)

Performs the *= operation. Read more
Source§

impl<const R: usize, const C: usize, const LEN: usize> MulAssign<usize> for Matrix<usize, R, C, LEN>

Source§

fn mul_assign(&mut self, scalar: usize)

Performs the *= operation. Read more
Source§

impl<T: Neg, const R: usize, const C: usize, const LEN: usize> Neg for Matrix<T, R, C, LEN>

Source§

type Output = Matrix<<T as Neg>::Output, R, C, LEN>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<T: PartialEq, const R: usize, const C: usize, const LEN: usize> PartialEq for Matrix<T, R, C, LEN>

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl<T: Sub<U>, U, const R: usize, const C: usize, const LEN: usize> Sub<Matrix<U, R, C, LEN>> for Matrix<T, R, C, LEN>

Source§

type Output = Matrix<<T as Sub<U>>::Output, R, C, LEN>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Matrix<U, R, C, LEN>) -> Self::Output

Performs the - operation. Read more
Source§

impl<T: SubAssign<U>, U, const R: usize, const C: usize, const LEN: usize> SubAssign<Matrix<U, R, C, LEN>> for Matrix<T, R, C, LEN>

Source§

fn sub_assign(&mut self, rhs: Matrix<U, R, C, LEN>)

Performs the -= operation. Read more

Auto Trait Implementations§

§

impl<T, const R: usize, const C: usize, const LEN: usize> Freeze for Matrix<T, R, C, LEN>

§

impl<T, const R: usize, const C: usize, const LEN: usize> RefUnwindSafe for Matrix<T, R, C, LEN>

§

impl<T, const R: usize, const C: usize, const LEN: usize> Send for Matrix<T, R, C, LEN>
where [T; LEN]: Send,

§

impl<T, const R: usize, const C: usize, const LEN: usize> Sync for Matrix<T, R, C, LEN>
where [T; LEN]: Sync,

§

impl<T, const R: usize, const C: usize, const LEN: usize> Unpin for Matrix<T, R, C, LEN>
where [T; LEN]: Unpin,

§

impl<T, const R: usize, const C: usize, const LEN: usize> UnsafeUnpin for Matrix<T, R, C, LEN>

§

impl<T, const R: usize, const C: usize, const LEN: usize> UnwindSafe for Matrix<T, R, C, LEN>

Blanket Implementations§

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<T> AnyExt for T
where T: Any + ?Sized,

Source§

fn type_id() -> TypeId

Returns the TypeId of Self. Read more
Source§

fn type_of(&self) -> TypeId

Returns the TypeId of self. Read more
Source§

fn type_name(&self) -> &'static str

Returns the type name of self. Read more
Source§

fn type_is<T: 'static>(&self) -> bool

Returns true if Self is of type T. Read more
Source§

fn type_hash(&self) -> u64

Returns a deterministic hash of the TypeId of Self.
Source§

fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64

Returns a deterministic hash of the TypeId of Self using a custom hasher.
Source§

fn as_any_ref(&self) -> &dyn Any
where Self: Sized,

Upcasts &self as &dyn Any. Read more
Source§

fn as_any_mut(&mut self) -> &mut dyn Any
where Self: Sized,

Upcasts &mut self as &mut dyn Any. Read more
Source§

fn as_any_box(self: Box<Self>) -> Box<dyn Any>
where Self: Sized,

Available on crate feature alloc only.
Upcasts Box<self> as Box<dyn Any>. Read more
Source§

fn downcast_ref<T: 'static>(&self) -> Option<&T>

Available on crate feature unsafe_layout and non-crate feature safe_code only.
Returns some shared reference to the inner value if it is of type T. Read more
Source§

fn downcast_mut<T: 'static>(&mut self) -> Option<&mut T>

Available on crate feature unsafe_layout and non-crate feature safe_code only.
Returns some exclusive reference to the inner value if it is of type T. Read more
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> ByteSized for T

Source§

const BYTE_ALIGN: usize = _

The alignment of this type in bytes.
Source§

const BYTE_SIZE: usize = _

The size of this type in bytes.
Source§

fn byte_align(&self) -> usize

Returns the alignment of this type in bytes.
Source§

fn byte_size(&self) -> usize

Returns the size of this type in bytes. Read more
Source§

fn ptr_size_ratio(&self) -> [usize; 2]

Returns the size ratio between Ptr::BYTES and BYTE_SIZE. Read more
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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Hook for T

Source§

fn hook<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Hooks a mutation step into the value and returns it. Read more
Source§

fn tap<F>(self, f: F) -> Self
where F: FnOnce(&Self),

Taps into the value for observation and returns it unchanged. Read more
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> MemExt for T
where T: ?Sized,

Source§

const NEEDS_DROP: bool = _

Know whether dropping values of this type matters, in compile-time.
Source§

fn mem_align_of<T>() -> usize

Returns the minimum alignment of the type in bytes. Read more
Source§

fn mem_align_of_val(&self) -> usize

Returns the alignment of the pointed-to value in bytes. Read more
Source§

fn mem_size_of<T>() -> usize

Returns the size of a type in bytes. Read more
Source§

fn mem_size_of_val(&self) -> usize

Returns the size of the pointed-to value in bytes. Read more
Source§

fn mem_copy(&self) -> Self
where Self: Copy,

Bitwise-copies a value. Read more
Source§

fn mem_needs_drop(&self) -> bool

Returns true if dropping values of this type matters. Read more
Source§

fn mem_drop(self)
where Self: Sized,

Drops self by running its destructor. Read more
Source§

fn mem_forget(self)
where Self: Sized,

Forgets about self without running its destructor. Read more
Source§

fn mem_replace(&mut self, other: Self) -> Self
where Self: Sized,

Replaces self with other, returning the previous value of self. Read more
Source§

fn mem_take(&mut self) -> Self
where Self: Default,

Replaces self with its default value, returning the previous value of self. Read more
Source§

fn mem_swap(&mut self, other: &mut Self)
where Self: Sized,

Swaps the value of self and other without deinitializing either one. Read more
Source§

unsafe fn mem_zeroed<T>() -> T

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

fn mem_as_bytes(&self) -> &[u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &[u8]. Read more
Source§

fn mem_as_bytes_mut(&mut self) -> &mut [u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &mut [u8]. Read more
Source§

impl<T, R> Morph<R> for T
where T: ?Sized,

Source§

fn morph<F>(self, f: F) -> R
where F: FnOnce(Self) -> R, Self: Sized,

Morphs the value into a new one and returns it. Read more
Source§

fn morph_ref<F>(&self, f: F) -> R
where F: FnOnce(&Self) -> R,

Morphs the value by shared reference and returns the result. Read more
Source§

fn morph_mut<F>(&mut self, f: F) -> R
where F: FnOnce(&mut Self) -> R,

Morphs the value by exclusive reference and returns the result. Read more
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.