From 588acf36a323679cef4466b31a06baff2f4ae149 Mon Sep 17 00:00:00 2001 From: Jon Janzen Date: Wed, 31 Mar 2021 15:19:48 -0600 Subject: [PATCH] added determinant --- matrix/src/lib.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/matrix/src/lib.rs b/matrix/src/lib.rs index 0c63cc0..f7cfce0 100644 --- a/matrix/src/lib.rs +++ b/matrix/src/lib.rs @@ -38,7 +38,11 @@ impl Matrix { [self.matrix[0][2], self.matrix[1][2], self.matrix[2][2], self.matrix[3][2], ], [self.matrix[0][3], self.matrix[1][3], self.matrix[2][3], self.matrix[3][3], ], ]; - self.matrix = tmp; + // self.matrix = tmp; + } + + pub fn determinant(&self) -> f32 { + self.matrix[0][0] * self.matrix[1][1] - self.matrix[0][1] * self.matrix[1][0] } } @@ -320,4 +324,14 @@ mod tests { m.transpose(); assert_eq!(m, Matrix::<4>::identity()); } + + #[test] + fn determinant_2x2() { + let m = Matrix::from_array([ + [1.0, 5.0], + [-3.0, 2.0], + ]); + + assert_eq!(17.0, m.determinant()); + } }