From d58fac111725e073a9cb886b765d9b2b999c7e2a Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Fri, 4 Jul 2014 17:37:24 -0700 Subject: [PATCH] Use pointers for the column map. Signed-off-by: Aaron Jacobs --- src/array.rs | 2 +- src/matrix.rs | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/array.rs b/src/array.rs index 8c275e0..adaf00c 100644 --- a/src/array.rs +++ b/src/array.rs @@ -98,5 +98,5 @@ pub trait Array2, Row: Array1, Element: Copy> { } /// Apply a function to each column. - fn map(&mut self, op: |Column| -> Column) -> Self; + fn map(&mut self, op: |&Column| -> Column) -> Self; } diff --git a/src/matrix.rs b/src/matrix.rs index a0963ca..0a0f3d6 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -418,9 +418,9 @@ impl Array2, Vector2, S> for Matrix2 { } #[inline] - fn map(&mut self, op: |Vector2| -> Vector2) -> Matrix2 { - self.x = op(self.x); - self.y = op(self.y); + fn map(&mut self, op: |&Vector2| -> Vector2) -> Matrix2 { + self.x = op(&self.x); + self.y = op(&self.y); *self } } @@ -459,10 +459,10 @@ impl Array2, Vector3, S> for Matrix3 { } #[inline] - fn map(&mut self, op: |Vector3| -> Vector3) -> Matrix3 { - self.x = op(self.x); - self.y = op(self.y); - self.z = op(self.z); + fn map(&mut self, op: |&Vector3| -> Vector3) -> Matrix3 { + self.x = op(&self.x); + self.y = op(&self.y); + self.z = op(&self.z); *self } } @@ -503,11 +503,11 @@ impl Array2, Vector4, S> for Matrix4 { } #[inline] - fn map(&mut self, op: |Vector4| -> Vector4) -> Matrix4 { - self.x = op(self.x); - self.y = op(self.y); - self.z = op(self.z); - self.w = op(self.w); + fn map(&mut self, op: |&Vector4| -> Vector4) -> Matrix4 { + self.x = op(&self.x); + self.y = op(&self.y); + self.z = op(&self.z); + self.w = op(&self.w); *self } }