[−][src]Struct vectrix::Matrix
Represents a matrix with constant M rows and constant N columns.
The underlying data is represented as an array and is always stored in column-major order.
See the crate root for usage examples.
Implementations
impl<T> Matrix<T, 1_usize, N>[src]
impl<T> Matrix<T, 1_usize, N>[src]
impl<T> Matrix<T, 1_usize, N>[src]
impl<T> Matrix<T, 1_usize, N>[src]
pub const fn new(x: T, y: T, z: T, w: T) -> Self[src]
Creates a new vector from the given components.
impl<T> Matrix<T, 1_usize, N>[src]
pub const fn new(x: T, y: T, z: T, w: T, a: T) -> Self[src]
Creates a new vector from the given components.
impl<T> Matrix<T, 1_usize, N>[src]
pub const fn new(x: T, y: T, z: T, w: T, a: T, b: T) -> Self[src]
Creates a new vector from the given components.
impl<T> Matrix<T, M, 1_usize>[src]
impl<T> Matrix<T, M, 1_usize>[src]
impl<T> Matrix<T, M, 1_usize>[src]
pub const fn new(x: T, y: T, z: T, w: T) -> Self[src]
Creates a new vector from the given components.
impl<T> Matrix<T, M, 1_usize>[src]
pub const fn new(x: T, y: T, z: T, w: T, a: T) -> Self[src]
Creates a new vector from the given components.
impl<T> Matrix<T, M, 1_usize>[src]
pub const fn new(x: T, y: T, z: T, w: T, a: T, b: T) -> Self[src]
Creates a new vector from the given components.
impl<T, const M: usize, const N: usize> Matrix<T, M, N>[src]
#[must_use]pub fn zero() -> Self where
T: Copy + Zero, [src]
T: Copy + Zero,
Returns a zero vector.
pub fn as_slice(&self) -> &[T]ⓘ[src]
Views the underlying data as a contiguous slice.
pub fn as_mut_slice(&mut self) -> &mut [T]ⓘ[src]
Views the underlying data as a contiguous mutable slice.
pub fn iter(&self) -> Iter<'_, T>ⓘ[src]
Returns an iterator over the underlying data.
pub fn iter_mut(&mut self) -> IterMut<'_, T>ⓘ[src]
Returns an iterator over the data that allows modifying each value.
pub fn abs(self) -> Self where
T: Copy + Default + Abs, [src]
T: Copy + Default + Abs,
Returns the absolute value of the matrix.
pub fn l1_norm(&self) -> T where
T: Copy + Ord + Abs + Zero + Sum<T>, [src]
T: Copy + Ord + Abs + Zero + Sum<T>,
Returns the L1 norm of the matrix.
Also known as Manhattan Distance or Taxicab norm. L1 Norm is the sum of the magnitudes of the vectors in a space.
Note: if the matrix is a row vector this method might not do what you what you expect. For example:
let row_vector = matrix![1, 2, 3]; assert_eq!(row_vector.l1_norm(), 3); let column_vector = matrix![1; 2; 3]; assert_eq!(column_vector.l1_norm(), 6);
Trait Implementations
impl<T, const M: usize, const N: usize> Add<&'_ Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + Add<Output = T>, [src]
T: Copy + Add<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: &Matrix<T, M, N>) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Add<&'_ Matrix<T, M, N>> for &Matrix<T, M, N> where
T: Copy + Add<Output = T>, [src]
T: Copy + Add<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: &Matrix<T, M, N>) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Add<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Add<&'a T, Output = T>, [src]
T: Copy + Default + Add<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Add<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Add<&'a T, Output = T>, [src]
T: Copy + Default + Add<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: &'a T) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Add<Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + Add<Output = T>, [src]
T: Copy + Add<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: Matrix<T, M, N>) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Add<Matrix<T, M, N>> for &Matrix<T, M, N> where
T: Copy + Add<Output = T>, [src]
T: Copy + Add<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: Matrix<T, M, N>) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Add<T> for Matrix<T, M, N> where
T: Copy + Default + Add<Output = T>, [src]
T: Copy + Default + Add<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Add<T> for &Matrix<T, M, N> where
T: Copy + Default + Add<Output = T>, [src]
T: Copy + Default + Add<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the + operator.
pub fn add(self, other: T) -> Self::Output[src]
impl<T, const M: usize, const N: usize> AddAssign<&'_ Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + AddAssign, [src]
T: Copy + AddAssign,
pub fn add_assign(&mut self, other: &Matrix<T, M, N>)[src]
impl<'a, T, const M: usize, const N: usize> AddAssign<&'a T> for Matrix<T, M, N> where
T: Copy + AddAssign<&'a T>, [src]
T: Copy + AddAssign<&'a T>,
pub fn add_assign(&mut self, other: &'a T)[src]
impl<T, const M: usize, const N: usize> AddAssign<Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + AddAssign, [src]
T: Copy + AddAssign,
pub fn add_assign(&mut self, other: Matrix<T, M, N>)[src]
impl<'a, T, const M: usize, const N: usize> AddAssign<T> for Matrix<T, M, N> where
T: Copy + AddAssign, [src]
T: Copy + AddAssign,
pub fn add_assign(&mut self, other: T)[src]
impl<'a, T, const M: usize, const N: usize> BitAnd<&'a T> for Matrix<T, M, N> where
T: Copy + Default + BitAnd<&'a T, Output = T>, [src]
T: Copy + Default + BitAnd<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the & operator.
pub fn bitand(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitAnd<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + BitAnd<&'a T, Output = T>, [src]
T: Copy + Default + BitAnd<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the & operator.
pub fn bitand(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitAnd<T> for Matrix<T, M, N> where
T: Copy + Default + BitAnd<Output = T>, [src]
T: Copy + Default + BitAnd<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the & operator.
pub fn bitand(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitAnd<T> for &Matrix<T, M, N> where
T: Copy + Default + BitAnd<Output = T>, [src]
T: Copy + Default + BitAnd<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the & operator.
pub fn bitand(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitAndAssign<&'a T> for Matrix<T, M, N> where
T: Copy + BitAndAssign<&'a T>, [src]
T: Copy + BitAndAssign<&'a T>,
pub fn bitand_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> BitAndAssign<T> for Matrix<T, M, N> where
T: Copy + BitAndAssign, [src]
T: Copy + BitAndAssign,
pub fn bitand_assign(&mut self, other: T)[src]
impl<'a, T, const M: usize, const N: usize> BitOr<&'a T> for Matrix<T, M, N> where
T: Copy + Default + BitOr<&'a T, Output = T>, [src]
T: Copy + Default + BitOr<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the | operator.
pub fn bitor(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitOr<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + BitOr<&'a T, Output = T>, [src]
T: Copy + Default + BitOr<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the | operator.
pub fn bitor(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitOr<T> for Matrix<T, M, N> where
T: Copy + Default + BitOr<Output = T>, [src]
T: Copy + Default + BitOr<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the | operator.
pub fn bitor(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitOr<T> for &Matrix<T, M, N> where
T: Copy + Default + BitOr<Output = T>, [src]
T: Copy + Default + BitOr<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the | operator.
pub fn bitor(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitOrAssign<&'a T> for Matrix<T, M, N> where
T: Copy + BitOrAssign<&'a T>, [src]
T: Copy + BitOrAssign<&'a T>,
pub fn bitor_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> BitOrAssign<T> for Matrix<T, M, N> where
T: Copy + BitOrAssign, [src]
T: Copy + BitOrAssign,
pub fn bitor_assign(&mut self, other: T)[src]
impl<'a, T, const M: usize, const N: usize> BitXor<&'a T> for Matrix<T, M, N> where
T: Copy + Default + BitXor<&'a T, Output = T>, [src]
T: Copy + Default + BitXor<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the ^ operator.
pub fn bitxor(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitXor<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + BitXor<&'a T, Output = T>, [src]
T: Copy + Default + BitXor<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the ^ operator.
pub fn bitxor(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitXor<T> for Matrix<T, M, N> where
T: Copy + Default + BitXor<Output = T>, [src]
T: Copy + Default + BitXor<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the ^ operator.
pub fn bitxor(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitXor<T> for &Matrix<T, M, N> where
T: Copy + Default + BitXor<Output = T>, [src]
T: Copy + Default + BitXor<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the ^ operator.
pub fn bitxor(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> BitXorAssign<&'a T> for Matrix<T, M, N> where
T: Copy + BitXorAssign<&'a T>, [src]
T: Copy + BitXorAssign<&'a T>,
pub fn bitxor_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> BitXorAssign<T> for Matrix<T, M, N> where
T: Copy + BitXorAssign, [src]
T: Copy + BitXorAssign,
pub fn bitxor_assign(&mut self, other: T)[src]
impl<T: Clone, const M: usize, const N: usize> Clone for Matrix<T, M, N>[src]
impl<T: Copy, const M: usize, const N: usize> Copy for Matrix<T, M, N>[src]
impl<T: Debug, const M: usize, const N: usize> Debug for Matrix<T, M, N>[src]
impl<T, const M: usize, const N: usize> Default for Matrix<T, M, N> where
T: Copy + Default, [src]
T: Copy + Default,
impl<T> Deref for Matrix<T, 1, 1>[src]
impl<T> Deref for Matrix<T, 1, 2>[src]
type Target = XY<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 6, 1>[src]
type Target = XYZWAB<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 1, 3>[src]
type Target = XYZ<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 1, 4>[src]
type Target = XYZW<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 1, 5>[src]
type Target = XYZWA<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 1, 6>[src]
type Target = XYZWAB<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 2, 1>[src]
type Target = XY<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 3, 1>[src]
type Target = XYZ<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 4, 1>[src]
type Target = XYZW<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> Deref for Matrix<T, 5, 1>[src]
type Target = XYZWA<T>
The resulting type after dereferencing.
pub fn deref(&self) -> &Self::Target[src]
impl<T> DerefMut for Matrix<T, 1, 1>[src]
impl<T> DerefMut for Matrix<T, 1, 2>[src]
impl<T> DerefMut for Matrix<T, 6, 1>[src]
impl<T> DerefMut for Matrix<T, 1, 3>[src]
impl<T> DerefMut for Matrix<T, 1, 4>[src]
impl<T> DerefMut for Matrix<T, 1, 5>[src]
impl<T> DerefMut for Matrix<T, 1, 6>[src]
impl<T> DerefMut for Matrix<T, 2, 1>[src]
impl<T> DerefMut for Matrix<T, 3, 1>[src]
impl<T> DerefMut for Matrix<T, 4, 1>[src]
impl<T> DerefMut for Matrix<T, 5, 1>[src]
impl<'a, T, const M: usize, const N: usize> Div<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Div<&'a T, Output = T>, [src]
T: Copy + Default + Div<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the / operator.
pub fn div(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Div<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Div<&'a T, Output = T>, [src]
T: Copy + Default + Div<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the / operator.
pub fn div(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Div<T> for Matrix<T, M, N> where
T: Copy + Default + Div<Output = T>, [src]
T: Copy + Default + Div<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the / operator.
pub fn div(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Div<T> for &Matrix<T, M, N> where
T: Copy + Default + Div<Output = T>, [src]
T: Copy + Default + Div<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the / operator.
pub fn div(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> DivAssign<&'a T> for Matrix<T, M, N> where
T: Copy + DivAssign<&'a T>, [src]
T: Copy + DivAssign<&'a T>,
pub fn div_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> DivAssign<T> for Matrix<T, M, N> where
T: Copy + DivAssign, [src]
T: Copy + DivAssign,
pub fn div_assign(&mut self, other: T)[src]
impl<T: Eq, const M: usize, const N: usize> Eq for Matrix<T, M, N>[src]
impl<T: Hash, const M: usize, const N: usize> Hash for Matrix<T, M, N>[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<T, const M: usize, const N: usize> Index<(usize, usize)> for Matrix<T, M, N>[src]
type Output = T
The returned type after indexing.
pub fn index(&self, (i, j): (usize, usize)) -> &Self::Output[src]
impl<T, const M: usize, const N: usize> Index<usize> for Matrix<T, M, N>[src]
type Output = T
The returned type after indexing.
pub fn index(&self, idx: usize) -> &Self::Output[src]
impl<T, const M: usize, const N: usize> IndexMut<(usize, usize)> for Matrix<T, M, N>[src]
impl<T, const M: usize, const N: usize> IndexMut<usize> for Matrix<T, M, N>[src]
impl<T, const M: usize, const N: usize> IntoIterator for Matrix<T, M, N> where
T: Copy, [src]
T: Copy,
type Item = T
The type of the elements being iterated over.
type IntoIter = IntoIter<T, M, N>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> Self::IntoIter[src]
impl<'a, T, const M: usize, const N: usize> Mul<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Mul<&'a T, Output = T>, [src]
T: Copy + Default + Mul<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the * operator.
pub fn mul(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Mul<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Mul<&'a T, Output = T>, [src]
T: Copy + Default + Mul<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the * operator.
pub fn mul(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Mul<T> for Matrix<T, M, N> where
T: Copy + Default + Mul<Output = T>, [src]
T: Copy + Default + Mul<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the * operator.
pub fn mul(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Mul<T> for &Matrix<T, M, N> where
T: Copy + Default + Mul<Output = T>, [src]
T: Copy + Default + Mul<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the * operator.
pub fn mul(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> MulAssign<&'a T> for Matrix<T, M, N> where
T: Copy + MulAssign<&'a T>, [src]
T: Copy + MulAssign<&'a T>,
pub fn mul_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> MulAssign<T> for Matrix<T, M, N> where
T: Copy + MulAssign, [src]
T: Copy + MulAssign,
pub fn mul_assign(&mut self, other: T)[src]
impl<T, const M: usize, const N: usize> Neg for Matrix<T, M, N> where
T: Copy + Default + Neg<Output = T>, [src]
T: Copy + Default + Neg<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn neg(self) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Neg for &Matrix<T, M, N> where
T: Copy + Default + Neg<Output = T>, [src]
T: Copy + Default + Neg<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn neg(self) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Not for Matrix<T, M, N> where
T: Copy + Default + Not<Output = T>, [src]
T: Copy + Default + Not<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the ! operator.
pub fn not(self) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Not for &Matrix<T, M, N> where
T: Copy + Default + Not<Output = T>, [src]
T: Copy + Default + Not<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the ! operator.
pub fn not(self) -> Self::Output[src]
impl<T: Ord, const M: usize, const N: usize> Ord for Matrix<T, M, N>[src]
pub fn cmp(&self, other: &Matrix<T, M, N>) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
impl<T: PartialEq, const M: usize, const N: usize> PartialEq<Matrix<T, M, N>> for Matrix<T, M, N>[src]
pub fn eq(&self, other: &Matrix<T, M, N>) -> bool[src]
pub fn ne(&self, other: &Matrix<T, M, N>) -> bool[src]
impl<T: PartialOrd, const M: usize, const N: usize> PartialOrd<Matrix<T, M, N>> for Matrix<T, M, N>[src]
pub fn partial_cmp(&self, other: &Matrix<T, M, N>) -> Option<Ordering>[src]
pub fn lt(&self, other: &Matrix<T, M, N>) -> bool[src]
pub fn le(&self, other: &Matrix<T, M, N>) -> bool[src]
pub fn gt(&self, other: &Matrix<T, M, N>) -> bool[src]
pub fn ge(&self, other: &Matrix<T, M, N>) -> bool[src]
impl<'a, T, const M: usize, const N: usize> Rem<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Rem<&'a T, Output = T>, [src]
T: Copy + Default + Rem<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the % operator.
pub fn rem(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Rem<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Rem<&'a T, Output = T>, [src]
T: Copy + Default + Rem<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the % operator.
pub fn rem(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Rem<T> for Matrix<T, M, N> where
T: Copy + Default + Rem<Output = T>, [src]
T: Copy + Default + Rem<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the % operator.
pub fn rem(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Rem<T> for &Matrix<T, M, N> where
T: Copy + Default + Rem<Output = T>, [src]
T: Copy + Default + Rem<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the % operator.
pub fn rem(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> RemAssign<&'a T> for Matrix<T, M, N> where
T: Copy + RemAssign<&'a T>, [src]
T: Copy + RemAssign<&'a T>,
pub fn rem_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> RemAssign<T> for Matrix<T, M, N> where
T: Copy + RemAssign, [src]
T: Copy + RemAssign,
pub fn rem_assign(&mut self, other: T)[src]
impl<'a, T, const M: usize, const N: usize> Shl<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Shl<&'a T, Output = T>, [src]
T: Copy + Default + Shl<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the << operator.
pub fn shl(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Shl<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Shl<&'a T, Output = T>, [src]
T: Copy + Default + Shl<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the << operator.
pub fn shl(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Shl<T> for Matrix<T, M, N> where
T: Copy + Default + Shl<Output = T>, [src]
T: Copy + Default + Shl<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the << operator.
pub fn shl(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Shl<T> for &Matrix<T, M, N> where
T: Copy + Default + Shl<Output = T>, [src]
T: Copy + Default + Shl<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the << operator.
pub fn shl(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> ShlAssign<&'a T> for Matrix<T, M, N> where
T: Copy + ShlAssign<&'a T>, [src]
T: Copy + ShlAssign<&'a T>,
pub fn shl_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> ShlAssign<T> for Matrix<T, M, N> where
T: Copy + ShlAssign, [src]
T: Copy + ShlAssign,
pub fn shl_assign(&mut self, other: T)[src]
impl<'a, T, const M: usize, const N: usize> Shr<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Shr<&'a T, Output = T>, [src]
T: Copy + Default + Shr<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the >> operator.
pub fn shr(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Shr<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Shr<&'a T, Output = T>, [src]
T: Copy + Default + Shr<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the >> operator.
pub fn shr(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Shr<T> for Matrix<T, M, N> where
T: Copy + Default + Shr<Output = T>, [src]
T: Copy + Default + Shr<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the >> operator.
pub fn shr(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Shr<T> for &Matrix<T, M, N> where
T: Copy + Default + Shr<Output = T>, [src]
T: Copy + Default + Shr<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the >> operator.
pub fn shr(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> ShrAssign<&'a T> for Matrix<T, M, N> where
T: Copy + ShrAssign<&'a T>, [src]
T: Copy + ShrAssign<&'a T>,
pub fn shr_assign(&mut self, other: &'a T)[src]
impl<'a, T, const M: usize, const N: usize> ShrAssign<T> for Matrix<T, M, N> where
T: Copy + ShrAssign, [src]
T: Copy + ShrAssign,
pub fn shr_assign(&mut self, other: T)[src]
impl<T, const M: usize, const N: usize> StructuralEq for Matrix<T, M, N>[src]
impl<T, const M: usize, const N: usize> StructuralPartialEq for Matrix<T, M, N>[src]
impl<T, const M: usize, const N: usize> Sub<&'_ Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + Sub<Output = T>, [src]
T: Copy + Sub<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: &Matrix<T, M, N>) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Sub<&'_ Matrix<T, M, N>> for &Matrix<T, M, N> where
T: Copy + Sub<Output = T>, [src]
T: Copy + Sub<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: &Matrix<T, M, N>) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Sub<&'a T> for Matrix<T, M, N> where
T: Copy + Default + Sub<&'a T, Output = T>, [src]
T: Copy + Default + Sub<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: &'a T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Sub<&'a T> for &Matrix<T, M, N> where
T: Copy + Default + Sub<&'a T, Output = T>, [src]
T: Copy + Default + Sub<&'a T, Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: &'a T) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Sub<Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + Sub<Output = T>, [src]
T: Copy + Sub<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: Matrix<T, M, N>) -> Self::Output[src]
impl<T, const M: usize, const N: usize> Sub<Matrix<T, M, N>> for &Matrix<T, M, N> where
T: Copy + Sub<Output = T>, [src]
T: Copy + Sub<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: Matrix<T, M, N>) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Sub<T> for Matrix<T, M, N> where
T: Copy + Default + Sub<Output = T>, [src]
T: Copy + Default + Sub<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: T) -> Self::Output[src]
impl<'a, T, const M: usize, const N: usize> Sub<T> for &Matrix<T, M, N> where
T: Copy + Default + Sub<Output = T>, [src]
T: Copy + Default + Sub<Output = T>,
type Output = Matrix<T, M, N>
The resulting type after applying the - operator.
pub fn sub(self, other: T) -> Self::Output[src]
impl<T, const M: usize, const N: usize> SubAssign<&'_ Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + SubAssign, [src]
T: Copy + SubAssign,
pub fn sub_assign(&mut self, other: &Matrix<T, M, N>)[src]
impl<'a, T, const M: usize, const N: usize> SubAssign<&'a T> for Matrix<T, M, N> where
T: Copy + SubAssign<&'a T>, [src]
T: Copy + SubAssign<&'a T>,
pub fn sub_assign(&mut self, other: &'a T)[src]
impl<T, const M: usize, const N: usize> SubAssign<Matrix<T, M, N>> for Matrix<T, M, N> where
T: Copy + SubAssign, [src]
T: Copy + SubAssign,
pub fn sub_assign(&mut self, other: Matrix<T, M, N>)[src]
impl<'a, T, const M: usize, const N: usize> SubAssign<T> for Matrix<T, M, N> where
T: Copy + SubAssign, [src]
T: Copy + SubAssign,
pub fn sub_assign(&mut self, other: T)[src]
impl<T, const M: usize, const N: usize> Sum<Matrix<T, M, N>> for Matrix<T, M, N> where
Self: Add<Output = Self>,
T: Copy + Zero, [src]
Self: Add<Output = Self>,
T: Copy + Zero,
Auto Trait Implementations
impl<T, const M: usize, const N: usize> RefUnwindSafe for Matrix<T, M, N> where
T: RefUnwindSafe, [src]
T: RefUnwindSafe,
impl<T, const M: usize, const N: usize> Send for Matrix<T, M, N> where
T: Send, [src]
T: Send,
impl<T, const M: usize, const N: usize> Sync for Matrix<T, M, N> where
T: Sync, [src]
T: Sync,
impl<T, const M: usize, const N: usize> Unpin for Matrix<T, M, N> where
T: Unpin, [src]
T: Unpin,
impl<T, const M: usize, const N: usize> UnwindSafe for Matrix<T, M, N> where
T: UnwindSafe, [src]
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,