Remove vector-scalar addition/subtraction
This commit is contained in:
parent
499e5cfeae
commit
53a04a03f6
2 changed files with 3 additions and 52 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -37,8 +37,6 @@ pub trait Vector {
|
|||
}
|
||||
|
||||
pub trait NumericVector<T> {
|
||||
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<T> {
|
|||
// 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<T> {
|
||||
|
@ -75,6 +73,7 @@ pub trait Vector4<T> {
|
|||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Vec2
|
||||
//
|
||||
|
@ -125,18 +124,6 @@ pub impl<T> Vec2<T>: Vector {
|
|||
}
|
||||
|
||||
pub impl<T:Copy Num> Vec2<T>: NumericVector<T> {
|
||||
#[inline(always)]
|
||||
pure fn add_t(value: T) -> Vec2<T> {
|
||||
Vec2::new(self[0] + value,
|
||||
self[1] + value)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pure fn sub_t(value: T) -> Vec2<T> {
|
||||
Vec2::new(self[0] - value,
|
||||
self[1] - value)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pure fn mul_t(value: T) -> Vec2<T> {
|
||||
Vec2::new(self[0] * value,
|
||||
|
@ -304,7 +291,7 @@ pub mod Vec3 {
|
|||
|
||||
pub impl<T:Copy Num> Vec3<T>: Vector3<T> {
|
||||
#[inline(always)]
|
||||
fn cross(other: &Vec3<T>) -> Vec3<T> {
|
||||
pure fn cross(other: &Vec3<T>) -> Vec3<T> {
|
||||
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<T> Vec3<T>: Vector {
|
|||
}
|
||||
|
||||
pub impl<T:Copy Num> Vec3<T>: NumericVector<T> {
|
||||
#[inline(always)]
|
||||
pure fn add_t(value: T) -> Vec3<T> {
|
||||
Vec3::new(self[0] + value,
|
||||
self[1] + value,
|
||||
self[2] + value)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pure fn sub_t(value: T) -> Vec3<T> {
|
||||
Vec3::new(self[0] - value,
|
||||
self[1] - value,
|
||||
self[2] - value)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pure fn mul_t(value: T) -> Vec3<T> {
|
||||
Vec3::new(self[0] * value,
|
||||
|
@ -517,22 +490,6 @@ pub impl<T> Vec4<T>: Vector {
|
|||
}
|
||||
|
||||
pub impl<T:Copy Num> Vec4<T>: NumericVector<T> {
|
||||
#[inline(always)]
|
||||
pure fn add_t(value: T) -> Vec4<T> {
|
||||
Vec4::new(self[0] + value,
|
||||
self[1] + value,
|
||||
self[2] + value,
|
||||
self[3] + value)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pure fn sub_t(value: T) -> Vec4<T> {
|
||||
Vec4::new(self[0] - value,
|
||||
self[1] - value,
|
||||
self[2] - value,
|
||||
self[3] - value)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pure fn mul_t(value: T) -> Vec4<T> {
|
||||
Vec4::new(self[0] * value,
|
||||
|
|
Loading…
Reference in a new issue