mirror of
https://github.com/thilo-behnke/wasm-pong.git
synced 2026-05-24 12:42:46 +00:00
better mutate vector instead of cloning and normalizing
This commit is contained in:
@@ -28,16 +28,14 @@ pub mod geom {
|
||||
self.y /= length;
|
||||
}
|
||||
|
||||
pub fn perpendicular_clockwise(&self) -> Vector {
|
||||
let mut vector = Vector::new(self.y, -self.x);
|
||||
vector.normalize();
|
||||
vector
|
||||
pub fn perpendicular_clockwise(&mut self) {
|
||||
self.x = self.y;
|
||||
self.y = -self.x;
|
||||
}
|
||||
|
||||
pub fn perpendicular_counter_clockwise(&self) -> Vector {
|
||||
let mut vector = Vector::new(-self.y, self.x);
|
||||
vector.normalize();
|
||||
vector
|
||||
pub fn perpendicular_counter_clockwise(&mut self) {
|
||||
self.x = -self.y;
|
||||
self.y = self.x;
|
||||
}
|
||||
|
||||
pub fn add(&mut self, other: &Vector) {
|
||||
|
||||
@@ -47,11 +47,11 @@ pub fn should_calculate_angle_correctly(
|
||||
#[case(Vector::new(0., 1.), Vector::new(1., 0.))]
|
||||
#[case(Vector::new(7., 7.), Vector::new(0.7071067811865476, -0.7071067811865476))]
|
||||
pub fn should_get_perpendicular_clockwise(
|
||||
#[case] vector: Vector,
|
||||
#[case] mut vector: Vector,
|
||||
#[case] expected: Vector
|
||||
) {
|
||||
let res = vector.perpendicular_clockwise();
|
||||
assert_eq!(res, expected);
|
||||
vector.perpendicular_clockwise();
|
||||
assert_eq!(vector, expected);
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
@@ -59,9 +59,9 @@ pub fn should_get_perpendicular_clockwise(
|
||||
#[case(Vector::new(1., 0.), Vector::new(0., 1.))]
|
||||
#[case(Vector::new(7., 7.), Vector::new(-0.7071067811865476, 0.7071067811865476))]
|
||||
pub fn should_get_perpendicular_counter_clockwise(
|
||||
#[case] vector: Vector,
|
||||
#[case] mut vector: Vector,
|
||||
#[case] expected: Vector
|
||||
) {
|
||||
let res = vector.perpendicular_counter_clockwise();
|
||||
assert_eq!(res, expected);
|
||||
vector.perpendicular_counter_clockwise();
|
||||
assert_eq!(vector, expected);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user