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 {