From 82360600fe6abb2887cdf7dd1daa4bf74dd3fa88 Mon Sep 17 00:00:00 2001 From: Jon Janzen Date: Wed, 31 Mar 2021 15:30:08 -0600 Subject: [PATCH] Fixed transpose by moving to an iterative method --- matrix/src/lib.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/matrix/src/lib.rs b/matrix/src/lib.rs index f7cfce0..6a0aefc 100644 --- a/matrix/src/lib.rs +++ b/matrix/src/lib.rs @@ -32,13 +32,13 @@ impl Matrix { } pub fn transpose(&mut self) { - let tmp = [ - [self.matrix[0][0], self.matrix[1][0], self.matrix[2][0], self.matrix[3][0], ], - [self.matrix[0][1], self.matrix[1][1], self.matrix[2][1], self.matrix[3][1], ], - [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; + for i in 0..self.matrix.len() { + for j in i..self.matrix[0].len() { + let v = self.matrix[i][j]; + self.matrix[i][j] = self.matrix[j][i]; + self.matrix[j][i] = v; + } + } } pub fn determinant(&self) -> f32 {