diff --git a/src/cgmath/matrix.rs b/src/cgmath/matrix.rs index 02ba5e1..e5620ed 100644 --- a/src/cgmath/matrix.rs +++ b/src/cgmath/matrix.rs @@ -417,13 +417,13 @@ pub trait Matrix fn is_symmetric(&self) -> bool; } -impl Add, Matrix2> for Matrix2 { #[inline] fn add(&self, other: &Matrix2) -> Matrix2 { build(|i| self.i(i).add_v(other.i(i))) } } -impl Add, Matrix3> for Matrix3 { #[inline] fn add(&self, other: &Matrix3) -> Matrix3 { build(|i| self.i(i).add_v(other.i(i))) } } -impl Add, Matrix4> for Matrix4 { #[inline] fn add(&self, other: &Matrix4) -> Matrix4 { build(|i| self.i(i).add_v(other.i(i))) } } +impl Add, Matrix2> for Matrix2 { #[inline] fn add(&self, other: &Matrix2) -> Matrix2 { self.add_m(other) } } +impl Add, Matrix3> for Matrix3 { #[inline] fn add(&self, other: &Matrix3) -> Matrix3 { self.add_m(other) } } +impl Add, Matrix4> for Matrix4 { #[inline] fn add(&self, other: &Matrix4) -> Matrix4 { self.add_m(other) } } -impl Sub, Matrix2> for Matrix2 { #[inline] fn sub(&self, other: &Matrix2) -> Matrix2 { build(|i| self.i(i).sub_v(other.i(i))) } } -impl Sub, Matrix3> for Matrix3 { #[inline] fn sub(&self, other: &Matrix3) -> Matrix3 { build(|i| self.i(i).sub_v(other.i(i))) } } -impl Sub, Matrix4> for Matrix4 { #[inline] fn sub(&self, other: &Matrix4) -> Matrix4 { build(|i| self.i(i).sub_v(other.i(i))) } } +impl Sub, Matrix2> for Matrix2 { #[inline] fn sub(&self, other: &Matrix2) -> Matrix2 { self.sub_m(other) } } +impl Sub, Matrix3> for Matrix3 { #[inline] fn sub(&self, other: &Matrix3) -> Matrix3 { self.sub_m(other) } } +impl Sub, Matrix4> for Matrix4 { #[inline] fn sub(&self, other: &Matrix4) -> Matrix4 { self.sub_m(other) } } impl Neg> for Matrix2 { #[inline] fn neg(&self) -> Matrix2 { build(|i| self.i(i).neg()) } } impl Neg> for Matrix3 { #[inline] fn neg(&self) -> Matrix3 { build(|i| self.i(i).neg()) } } @@ -433,9 +433,9 @@ impl Zero for Matrix2 { #[inline] fn zero() -> Matrix2 { Mat impl Zero for Matrix3 { #[inline] fn zero() -> Matrix3 { Matrix3::zero() } #[inline] fn is_zero(&self) -> bool { *self == zero() } } impl Zero for Matrix4 { #[inline] fn zero() -> Matrix4 { Matrix4::zero() } #[inline] fn is_zero(&self) -> bool { *self == zero() } } -impl Mul, Matrix2> for Matrix2 { #[inline] fn mul(&self, other: &Matrix2) -> Matrix2 { build(|i| self.i(i).mul_v(other.i(i))) } } -impl Mul, Matrix3> for Matrix3 { #[inline] fn mul(&self, other: &Matrix3) -> Matrix3 { build(|i| self.i(i).mul_v(other.i(i))) } } -impl Mul, Matrix4> for Matrix4 { #[inline] fn mul(&self, other: &Matrix4) -> Matrix4 { build(|i| self.i(i).mul_v(other.i(i))) } } +impl Mul, Matrix2> for Matrix2 { #[inline] fn mul(&self, other: &Matrix2) -> Matrix2 { self.mul_m(other) } } +impl Mul, Matrix3> for Matrix3 { #[inline] fn mul(&self, other: &Matrix3) -> Matrix3 { self.mul_m(other) } } +impl Mul, Matrix4> for Matrix4 { #[inline] fn mul(&self, other: &Matrix4) -> Matrix4 { self.mul_m(other) } } impl One for Matrix2 { #[inline] fn one() -> Matrix2 { Matrix2::identity() } } impl One for Matrix3 { #[inline] fn one() -> Matrix3 { Matrix3::identity() } }