mirror of
https://github.com/italicsjenga/agb.git
synced 2024-12-24 00:31:34 +11:00
multiplication and division by constant
This commit is contained in:
parent
0ea0f1df3f
commit
81db1b861c
|
@ -462,6 +462,35 @@ impl<T: Number> Add<Vector2D<T>> for Vector2D<T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<T: Number> Mul<T> for Vector2D<T> {
|
||||
type Output = Vector2D<T>;
|
||||
fn mul(self, rhs: T) -> Self::Output {
|
||||
Vector2D {
|
||||
x: self.x * rhs,
|
||||
y: self.y * rhs,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Number> Div<T> for Vector2D<T> {
|
||||
type Output = Vector2D<T>;
|
||||
fn div(self, rhs: T) -> Self::Output {
|
||||
Vector2D {
|
||||
x: self.x / rhs,
|
||||
y: self.y / rhs,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test_case]
|
||||
fn test_vector_multiplication_and_division(_gba: &mut super::Gba) {
|
||||
let a: Vector2D<i32> = (1, 2).into();
|
||||
let b = a * 5;
|
||||
let c = b / 5;
|
||||
assert_eq!(b, (5, 10).into());
|
||||
assert_eq!(a, c);
|
||||
}
|
||||
|
||||
impl<T: Number> AddAssign<Self> for Vector2D<T> {
|
||||
fn add_assign(&mut self, rhs: Self) {
|
||||
*self = *self + rhs;
|
||||
|
|
Loading…
Reference in a new issue