lambda/math/mod.rs
1//! Lambda Math Types and operations
2
3pub mod matrix;
4pub mod vector;
5
6pub enum Angle {
7 Radians(f32),
8 Degrees(f32),
9 Turns(f32),
10}
11
12/// Convert a turn into radians.
13fn turns_to_radians(turns: f32) -> f32 {
14 return turns * std::f32::consts::PI * 2.0;
15}
16
17#[macro_export]
18/// Assert that two values are equal, with a given tolerance.
19macro_rules! assert_approximately_equal {
20 ($a:expr, $b:expr, $eps:expr) => {{
21 let (a, b, eps) = ($a, $b, $eps);
22 assert!(
23 (a - b).abs() < eps,
24 "{} is not approximately equal to {} with an epsilon of {}",
25 a,
26 b,
27 eps
28 );
29 }};
30}