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}