From 53a04a03f6042d1df126865cd3bef4a6fd0c619e Mon Sep 17 00:00:00 2001 From: Brendan Zabarauskas Date: Thu, 8 Nov 2012 11:40:03 +1000 Subject: [PATCH] Remove vector-scalar addition/subtraction --- src/test/test_vector.rs | 6 ----- src/vector.rs | 49 +++-------------------------------------- 2 files changed, 3 insertions(+), 52 deletions(-) diff --git a/src/test/test_vector.rs b/src/test/test_vector.rs index f2c9666..7ae1f88 100644 --- a/src/test/test_vector.rs +++ b/src/test/test_vector.rs @@ -28,8 +28,6 @@ fn test_Vec2() { assert -a == Vec2::new(-1f, -2f); assert a.neg() == Vec2::new(-1f, -2f); - assert a.add_t(f1) == Vec2::new( 2.5f, 3.5f); - assert a.sub_t(f1) == Vec2::new(-0.5f, 0.5f); assert a.mul_t(f1) == Vec2::new( 1.5f, 3.0f); assert a.div_t(f2) == Vec2::new( 2.0f, 4.0f); @@ -83,8 +81,6 @@ fn test_Vec3() { assert -a == Vec3::new(-1f, -2f, -3f); assert a.neg() == Vec3::new(-1f, -2f, -3f); - assert a.add_t(f1) == Vec3::new( 2.5f, 3.5f, 4.5f); - assert a.sub_t(f1) == Vec3::new(-0.5f, 0.5f, 1.5f); assert a.mul_t(f1) == Vec3::new( 1.5f, 3.0f, 4.5f); assert a.div_t(f2) == Vec3::new( 2.0f, 4.0f, 6.0f); @@ -139,8 +135,6 @@ fn test_Vec4() { assert -a == Vec4::new(-1f, -2f, -3f, -4f); assert a.neg() == Vec4::new(-1f, -2f, -3f, -4f); - assert a.add_t(f1) == Vec4::new( 2.5f, 3.5f, 4.5f, 5.5f); - assert a.sub_t(f1) == Vec4::new(-0.5f, 0.5f, 1.5f, 2.5f); assert a.mul_t(f1) == Vec4::new( 1.5f, 3.0f, 4.5f, 6.0f); assert a.div_t(f2) == Vec4::new( 2.0f, 4.0f, 6.0f, 8.0f); diff --git a/src/vector.rs b/src/vector.rs index 7d60b96..4b2ad99 100644 --- a/src/vector.rs +++ b/src/vector.rs @@ -37,8 +37,6 @@ pub trait Vector { } pub trait NumericVector { - pure fn add_t(value: T) -> self; - pure fn sub_t(value: T) -> self; pure fn mul_t(value: T) -> self; pure fn div_t(value: T) -> self; @@ -64,7 +62,7 @@ pub trait Vector3 { // static pure fn new(x: T, y: T, z: T) -> self; // static pure fn from_value(value: T) -> self; - fn cross(other: &self) -> self; + pure fn cross(other: &self) -> self; } pub trait Vector4 { @@ -75,6 +73,7 @@ pub trait Vector4 { + // // Vec2 // @@ -125,18 +124,6 @@ pub impl Vec2: Vector { } pub impl Vec2: NumericVector { - #[inline(always)] - pure fn add_t(value: T) -> Vec2 { - Vec2::new(self[0] + value, - self[1] + value) - } - - #[inline(always)] - pure fn sub_t(value: T) -> Vec2 { - Vec2::new(self[0] - value, - self[1] - value) - } - #[inline(always)] pure fn mul_t(value: T) -> Vec2 { Vec2::new(self[0] * value, @@ -304,7 +291,7 @@ pub mod Vec3 { pub impl Vec3: Vector3 { #[inline(always)] - fn cross(other: &Vec3) -> Vec3 { + pure fn cross(other: &Vec3) -> Vec3 { Vec3::new((self[1] * other[2]) - (self[2] * other[1]), (self[2] * other[0]) - (self[0] * other[2]), (self[0] * other[1]) - (self[1] * other[0])) @@ -317,20 +304,6 @@ pub impl Vec3: Vector { } pub impl Vec3: NumericVector { - #[inline(always)] - pure fn add_t(value: T) -> Vec3 { - Vec3::new(self[0] + value, - self[1] + value, - self[2] + value) - } - - #[inline(always)] - pure fn sub_t(value: T) -> Vec3 { - Vec3::new(self[0] - value, - self[1] - value, - self[2] - value) - } - #[inline(always)] pure fn mul_t(value: T) -> Vec3 { Vec3::new(self[0] * value, @@ -517,22 +490,6 @@ pub impl Vec4: Vector { } pub impl Vec4: NumericVector { - #[inline(always)] - pure fn add_t(value: T) -> Vec4 { - Vec4::new(self[0] + value, - self[1] + value, - self[2] + value, - self[3] + value) - } - - #[inline(always)] - pure fn sub_t(value: T) -> Vec4 { - Vec4::new(self[0] - value, - self[1] - value, - self[2] - value, - self[3] - value) - } - #[inline(always)] pure fn mul_t(value: T) -> Vec4 { Vec4::new(self[0] * value,