graphics_rs/math/
num_utils.rs1pub struct NumUtils;
2
3impl NumUtils {
4 pub fn order_triangle_vertices_by_y<T: PartialOrd>(
5 x1: &mut T,
6 y1: &mut T,
7 x2: &mut T,
8 y2: &mut T,
9 x3: &mut T,
10 y3: &mut T,
11 ) {
12 if *y1 > *y2 {
13 std::mem::swap(x1, x2);
14 std::mem::swap(y1, y2);
15 }
16
17 if *y2 > *y3 {
18 std::mem::swap(x2, x3);
19 std::mem::swap(y2, y3);
20 }
21
22 if *y1 > *y2 {
23 std::mem::swap(x1, x2);
24 std::mem::swap(y1, y2);
25 }
26 }
27
28 pub fn order_asc<T: Ord + Copy>(a: T, b: T) -> (T, T) {
29 (T::min(a, b), T::max(a, b))
30 }
31}