From 9e53629459f28377cf7b306edfc665e95b212877 Mon Sep 17 00:00:00 2001 From: Brendan Zabarauskas Date: Sun, 4 Oct 2015 12:58:53 +1100 Subject: [PATCH] Clean up index operator usages --- src/array.rs | 18 ++--- src/matrix.rs | 206 +++++++++++++++++++++++++------------------------- 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/src/array.rs b/src/array.rs index b277e5f..f2e0e59 100644 --- a/src/array.rs +++ b/src/array.rs @@ -21,25 +21,25 @@ use std::ops::*; pub trait Array1: Index + IndexMut { /// Get the pointer to the first element of the array. fn ptr<'a>(&'a self) -> &'a Element { - &(*self)[0] + &self[0] } /// Get a mutable pointer to the first element of the array. fn mut_ptr<'a>(&'a mut self) -> &'a mut Element { - &mut (*self)[0] + &mut self[0] } /// Swap the elements at indices `i` and `j` in-place. #[inline] fn swap_elems(&mut self, i: usize, j: usize) { // Yeah, ok borrow checker – I know what I'm doing here - unsafe { ptr::swap(&mut (*self)[i], &mut (*self)[j]) }; + unsafe { ptr::swap(&mut self[i], &mut self[j]) }; } /// Replace an element in the array. #[inline] fn replace_elem(&mut self, i: usize, src: Element) -> Element { - mem::replace(&mut (*self)[i], src) + mem::replace(&mut self[i], src) } } @@ -48,24 +48,24 @@ pub trait Array2+'static, Row: Array1, Element: Index + IndexMut { /// Get the pointer to the first element of the array. fn ptr<'a>(&'a self) -> &'a Element { - &(*self)[0][0] + &self[0][0] } /// Get a mutable pointer to the first element of the array. fn mut_ptr<'a>(&'a mut self) -> &'a mut Element { - &mut (*self)[0][0] + &mut self[0][0] } /// Swap two columns of this array. #[inline] fn swap_cols(&mut self, a: usize, b: usize) { - unsafe { ptr::swap(&mut (*self)[a], &mut (*self)[b]) }; + unsafe { ptr::swap(&mut self[a], &mut self[b]) }; } /// Replace a column in the array. #[inline] fn replace_col(&mut self, c: usize, src: Column) -> Column { - mem::replace(&mut (*self)[c], src) + mem::replace(&mut self[c], src) } /// Get a row from this array by-value. @@ -79,6 +79,6 @@ pub trait Array2+'static, Row: Array1, Element: fn swap_elems(&mut self, a: (usize, usize), b: (usize, usize)) { let (ac, ar) = a; let (bc, br) = b; - unsafe { ptr::swap(&mut (*self)[ac][ar], &mut (*self)[bc][br]) }; + unsafe { ptr::swap(&mut self[ac][ar], &mut self[bc][br]) }; } } diff --git a/src/matrix.rs b/src/matrix.rs index 648a731..1b3df68 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -84,8 +84,8 @@ impl> Matrix2 { /// Negate this `Matrix2` in-place. #[inline] pub fn neg_self(&mut self) { - (&mut self[0]).neg_self(); - (&mut self[1]).neg_self(); + self[0].neg_self(); + self[1].neg_self(); } } @@ -186,9 +186,9 @@ impl> Matrix3 { /// Negate this `Matrix3` in-place. #[inline] pub fn neg_self(&mut self) { - (&mut self[0]).neg_self(); - (&mut self[1]).neg_self(); - (&mut self[2]).neg_self(); + self[0].neg_self(); + self[1].neg_self(); + self[2].neg_self(); } } @@ -242,10 +242,10 @@ impl> Matrix4 { /// Negate this `Matrix4` in-place. #[inline] pub fn neg_self(&mut self) { - (&mut self[0]).neg_self(); - (&mut self[1]).neg_self(); - (&mut self[2]).neg_self(); - (&mut self[3]).neg_self(); + self[0].neg_self(); + self[1].neg_self(); + self[2].neg_self(); + self[3].neg_self(); } } @@ -368,8 +368,8 @@ impl Array2, Vector2, S> for Matrix2 { #[inline] fn swap_rows(&mut self, a: usize, b: usize) { - (&mut self[0]).swap_elems(a, b); - (&mut self[1]).swap_elems(a, b); + self[0].swap_elems(a, b); + self[1].swap_elems(a, b); } } @@ -383,9 +383,9 @@ impl Array2, Vector3, S> for Matrix3 { #[inline] fn swap_rows(&mut self, a: usize, b: usize) { - (&mut self[0]).swap_elems(a, b); - (&mut self[1]).swap_elems(a, b); - (&mut self[2]).swap_elems(a, b); + self[0].swap_elems(a, b); + self[1].swap_elems(a, b); + self[2].swap_elems(a, b); } } @@ -400,10 +400,10 @@ impl Array2, Vector4, S> for Matrix4 { #[inline] fn swap_rows(&mut self, a: usize, b: usize) { - (&mut self[0]).swap_elems(a, b); - (&mut self[1]).swap_elems(a, b); - (&mut self[2]).swap_elems(a, b); - (&mut self[3]).swap_elems(a, b); + self[0].swap_elems(a, b); + self[1].swap_elems(a, b); + self[2].swap_elems(a, b); + self[3].swap_elems(a, b); } } @@ -430,32 +430,32 @@ impl Matrix> for Matrix2 { #[inline] fn mul_self_s(&mut self, s: S) { - (&mut self[0]).mul_self_s(s); - (&mut self[1]).mul_self_s(s); + self[0].mul_self_s(s); + self[1].mul_self_s(s); } #[inline] fn div_self_s(&mut self, s: S) { - (&mut self[0]).div_self_s(s); - (&mut self[1]).div_self_s(s); + self[0].div_self_s(s); + self[1].div_self_s(s); } #[inline] fn rem_self_s(&mut self, s: S) { - (&mut self[0]).rem_self_s(s); - (&mut self[1]).rem_self_s(s); + self[0].rem_self_s(s); + self[1].rem_self_s(s); } #[inline] fn add_self_m(&mut self, m: &Matrix2) { - (&mut self[0]).add_self_v(&m[0]); - (&mut self[1]).add_self_v(&m[1]); + self[0].add_self_v(&m[0]); + self[1].add_self_v(&m[1]); } #[inline] fn sub_self_m(&mut self, m: &Matrix2) { - (&mut self[0]).sub_self_v(&m[0]); - (&mut self[1]).sub_self_v(&m[1]); + self[0].sub_self_v(&m[0]); + self[1].sub_self_v(&m[1]); } fn transpose(&self) -> Matrix2 { @@ -492,15 +492,15 @@ impl Matrix> for Matrix2 { #[inline] fn is_diagonal(&self) -> bool { - (&self[0][1]).approx_eq(&S::zero()) && - (&self[1][0]).approx_eq(&S::zero()) + self[0][1].approx_eq(&S::zero()) && + self[1][0].approx_eq(&S::zero()) } #[inline] fn is_symmetric(&self) -> bool { - (&self[0][1]).approx_eq(&self[1][0]) && - (&self[1][0]).approx_eq(&self[0][1]) + self[0][1].approx_eq(&self[1][0]) && + self[1][0].approx_eq(&self[0][1]) } } @@ -529,37 +529,37 @@ impl Matrix> for Matrix3 { #[inline] fn mul_self_s(&mut self, s: S) { - (&mut self[0]).mul_self_s(s); - (&mut self[1]).mul_self_s(s); - (&mut self[2]).mul_self_s(s); + self[0].mul_self_s(s); + self[1].mul_self_s(s); + self[2].mul_self_s(s); } #[inline] fn div_self_s(&mut self, s: S) { - (&mut self[0]).div_self_s(s); - (&mut self[1]).div_self_s(s); - (&mut self[2]).div_self_s(s); + self[0].div_self_s(s); + self[1].div_self_s(s); + self[2].div_self_s(s); } #[inline] fn rem_self_s(&mut self, s: S) { - (&mut self[0]).rem_self_s(s); - (&mut self[1]).rem_self_s(s); - (&mut self[2]).rem_self_s(s); + self[0].rem_self_s(s); + self[1].rem_self_s(s); + self[2].rem_self_s(s); } #[inline] fn add_self_m(&mut self, m: &Matrix3) { - (&mut self[0]).add_self_v(&m[0]); - (&mut self[1]).add_self_v(&m[1]); - (&mut self[2]).add_self_v(&m[2]); + self[0].add_self_v(&m[0]); + self[1].add_self_v(&m[1]); + self[2].add_self_v(&m[2]); } #[inline] fn sub_self_m(&mut self, m: &Matrix3) { - (&mut self[0]).sub_self_v(&m[0]); - (&mut self[1]).sub_self_v(&m[1]); - (&mut self[2]).sub_self_v(&m[2]); + self[0].sub_self_v(&m[0]); + self[1].sub_self_v(&m[1]); + self[2].sub_self_v(&m[2]); } fn transpose(&self) -> Matrix3 { @@ -598,25 +598,25 @@ impl Matrix> for Matrix3 { } fn is_diagonal(&self) -> bool { - (&self[0][1]).approx_eq(&S::zero()) && - (&self[0][2]).approx_eq(&S::zero()) && + self[0][1].approx_eq(&S::zero()) && + self[0][2].approx_eq(&S::zero()) && - (&self[1][0]).approx_eq(&S::zero()) && - (&self[1][2]).approx_eq(&S::zero()) && + self[1][0].approx_eq(&S::zero()) && + self[1][2].approx_eq(&S::zero()) && - (&self[2][0]).approx_eq(&S::zero()) && - (&self[2][1]).approx_eq(&S::zero()) + self[2][0].approx_eq(&S::zero()) && + self[2][1].approx_eq(&S::zero()) } fn is_symmetric(&self) -> bool { - (&self[0][1]).approx_eq(&self[1][0]) && - (&self[0][2]).approx_eq(&self[2][0]) && + self[0][1].approx_eq(&self[1][0]) && + self[0][2].approx_eq(&self[2][0]) && - (&self[1][0]).approx_eq(&self[0][1]) && - (&self[1][2]).approx_eq(&self[2][1]) && + self[1][0].approx_eq(&self[0][1]) && + self[1][2].approx_eq(&self[2][1]) && - (&self[2][0]).approx_eq(&self[0][2]) && - (&self[2][1]).approx_eq(&self[1][2]) + self[2][0].approx_eq(&self[0][2]) && + self[2][1].approx_eq(&self[1][2]) } } @@ -647,42 +647,42 @@ impl Matrix> for Matrix4 { #[inline] fn mul_self_s(&mut self, s: S) { - (&mut self[0]).mul_self_s(s); - (&mut self[1]).mul_self_s(s); - (&mut self[2]).mul_self_s(s); - (&mut self[3]).mul_self_s(s); + self[0].mul_self_s(s); + self[1].mul_self_s(s); + self[2].mul_self_s(s); + self[3].mul_self_s(s); } #[inline] fn div_self_s(&mut self, s: S) { - (&mut self[0]).div_self_s(s); - (&mut self[1]).div_self_s(s); - (&mut self[2]).div_self_s(s); - (&mut self[3]).div_self_s(s); + self[0].div_self_s(s); + self[1].div_self_s(s); + self[2].div_self_s(s); + self[3].div_self_s(s); } #[inline] fn rem_self_s(&mut self, s: S) { - (&mut self[0]).rem_self_s(s); - (&mut self[1]).rem_self_s(s); - (&mut self[2]).rem_self_s(s); - (&mut self[3]).rem_self_s(s); + self[0].rem_self_s(s); + self[1].rem_self_s(s); + self[2].rem_self_s(s); + self[3].rem_self_s(s); } #[inline] fn add_self_m(&mut self, m: &Matrix4) { - (&mut self[0]).add_self_v(&m[0]); - (&mut self[1]).add_self_v(&m[1]); - (&mut self[2]).add_self_v(&m[2]); - (&mut self[3]).add_self_v(&m[3]); + self[0].add_self_v(&m[0]); + self[1].add_self_v(&m[1]); + self[2].add_self_v(&m[2]); + self[3].add_self_v(&m[3]); } #[inline] fn sub_self_m(&mut self, m: &Matrix4) { - (&mut self[0]).sub_self_v(&m[0]); - (&mut self[1]).sub_self_v(&m[1]); - (&mut self[2]).sub_self_v(&m[2]); - (&mut self[3]).sub_self_v(&m[3]); + self[0].sub_self_v(&m[0]); + self[1].sub_self_v(&m[1]); + self[2].sub_self_v(&m[2]); + self[3].sub_self_v(&m[3]); } fn transpose(&self) -> Matrix4 { @@ -754,39 +754,39 @@ impl Matrix> for Matrix4 { } fn is_diagonal(&self) -> bool { - (&self[0][1]).approx_eq(&S::zero()) && - (&self[0][2]).approx_eq(&S::zero()) && - (&self[0][3]).approx_eq(&S::zero()) && + self[0][1].approx_eq(&S::zero()) && + self[0][2].approx_eq(&S::zero()) && + self[0][3].approx_eq(&S::zero()) && - (&self[1][0]).approx_eq(&S::zero()) && - (&self[1][2]).approx_eq(&S::zero()) && - (&self[1][3]).approx_eq(&S::zero()) && + self[1][0].approx_eq(&S::zero()) && + self[1][2].approx_eq(&S::zero()) && + self[1][3].approx_eq(&S::zero()) && - (&self[2][0]).approx_eq(&S::zero()) && - (&self[2][1]).approx_eq(&S::zero()) && - (&self[2][3]).approx_eq(&S::zero()) && + self[2][0].approx_eq(&S::zero()) && + self[2][1].approx_eq(&S::zero()) && + self[2][3].approx_eq(&S::zero()) && - (&self[3][0]).approx_eq(&S::zero()) && - (&self[3][1]).approx_eq(&S::zero()) && - (&self[3][2]).approx_eq(&S::zero()) + self[3][0].approx_eq(&S::zero()) && + self[3][1].approx_eq(&S::zero()) && + self[3][2].approx_eq(&S::zero()) } fn is_symmetric(&self) -> bool { - (&self[0][1]).approx_eq(&self[1][0]) && - (&self[0][2]).approx_eq(&self[2][0]) && - (&self[0][3]).approx_eq(&self[3][0]) && + self[0][1].approx_eq(&self[1][0]) && + self[0][2].approx_eq(&self[2][0]) && + self[0][3].approx_eq(&self[3][0]) && - (&self[1][0]).approx_eq(&self[0][1]) && - (&self[1][2]).approx_eq(&self[2][1]) && - (&self[1][3]).approx_eq(&self[3][1]) && + self[1][0].approx_eq(&self[0][1]) && + self[1][2].approx_eq(&self[2][1]) && + self[1][3].approx_eq(&self[3][1]) && - (&self[2][0]).approx_eq(&self[0][2]) && - (&self[2][1]).approx_eq(&self[1][2]) && - (&self[2][3]).approx_eq(&self[3][2]) && + self[2][0].approx_eq(&self[0][2]) && + self[2][1].approx_eq(&self[1][2]) && + self[2][3].approx_eq(&self[3][2]) && - (&self[3][0]).approx_eq(&self[0][3]) && - (&self[3][1]).approx_eq(&self[1][3]) && - (&self[3][2]).approx_eq(&self[2][3]) + self[3][0].approx_eq(&self[0][3]) && + self[3][1].approx_eq(&self[1][3]) && + self[3][2].approx_eq(&self[2][3]) } }