1mod coordinate;
6mod ray;
7
8pub use coordinate::Coordinate;
9pub use ray::Ray;
10
11const EPS: f64 = 1e-9;
12
13pub(crate) fn feq(x: f64, y: f64) -> bool {
14 f64::abs(x - y) < EPS
15}
16
17pub(crate) fn fneq(x: f64, y: f64) -> bool {
18 !feq(x, y)
19}
20
21pub(crate) fn fgt(x: f64, y: f64) -> bool {
22 if feq(x, y) {
23 return false;
24 }
25 x > y
26}
27
28#[allow(dead_code)]
29pub(crate) fn flt(x: f64, y: f64) -> bool {
30 if feq(x, y) {
31 return false;
32 }
33 x < y
34}
35
36pub(crate) fn fgeq(x: f64, y: f64) -> bool {
37 if feq(x, y) {
38 return true;
39 }
40 x > y
41}
42
43pub(crate) fn fleq(x: f64, y: f64) -> bool {
44 if feq(x, y) {
45 return true;
46 }
47 x < y
48}