use rand::Rng; /// This source file includes some common things that tests are using. #[derive(Debug, Default, Clone, Copy, PartialEq, PartialOrd)] pub struct Vec2 { pub x: f32, pub y: f32, } impl Vec2 { pub fn new(x: f32, y: f32) -> Self { Self { x, y, } } pub fn rand() -> Self { let mut rng = rand::thread_rng(); let range = 30.0..1853.0; Vec2 { x: rng.gen_range(range.clone()), y: rng.gen_range(range) } } } #[derive(Debug, Default, Clone, Copy, PartialEq, PartialOrd)] pub struct Vec3 { pub x: f32, pub y: f32, pub z: f32, } impl Vec3 { pub fn new(x: f32, y: f32, z: f32) -> Self { Self { x, y, z } } pub fn rand() -> Self { let mut rng = rand::thread_rng(); let range = 30.0..1853.0; Vec3 { x: rng.gen_range(range.clone()), y: rng.gen_range(range.clone()), z: rng.gen_range(range) } } }