pub trait Matrix<V: Vector> {
fn add(&self, other: &Self) -> Self;
fn subtract(&self, other: &Self) -> Self;
fn multiply(&self, other: &Self) -> Self;
fn transpose(&self) -> Self;
fn inverse(&self) -> Self;
fn transform(&self, other: &V) -> V;
fn determinant(&self) -> f32;
fn size(&self) -> (usize, usize);
fn row(&self, row: usize) -> &V;
fn at(&self, row: usize, column: usize) -> V::Scalar;
fn update(&mut self, row: usize, column: usize, value: V::Scalar);
}
Required Methods§
fn add(&self, other: &Self) -> Self
fn subtract(&self, other: &Self) -> Self
fn multiply(&self, other: &Self) -> Self
fn transpose(&self) -> Self
fn inverse(&self) -> Self
fn transform(&self, other: &V) -> V
fn determinant(&self) -> f32
fn size(&self) -> (usize, usize)
fn row(&self, row: usize) -> &V
fn at(&self, row: usize, column: usize) -> V::Scalar
fn update(&mut self, row: usize, column: usize, value: V::Scalar)
Implementors§
impl<Array, V> Matrix<V> for Arraywhere
Array: AsMut<[V]> + AsRef<[V]> + Default,
V: AsMut<[f32]> + AsRef<[f32]> + Vector<Scalar = f32> + Sized,
Matrix implementations for arrays of f32 arrays. Including the trait Matrix into your code will allow you to use these function implementation for any array of f32 arrays.