mod coordinate;
mod ray;
pub use coordinate::Coordinate;
pub use ray::Ray;
const EPS: f64 = 1e-9;
pub(crate) fn feq(x: f64, y: f64) -> bool {
f64::abs(x - y) < EPS
}
pub(crate) fn fneq(x: f64, y: f64) -> bool {
!feq(x, y)
}
pub(crate) fn fgt(x: f64, y: f64) -> bool {
if feq(x, y) {
return false;
}
x > y
}
#[allow(dead_code)]
pub(crate) fn flt(x: f64, y: f64) -> bool {
if feq(x, y) {
return false;
}
x < y
}
pub(crate) fn fgeq(x: f64, y: f64) -> bool {
if feq(x, y) {
return true;
}
x > y
}
pub(crate) fn fleq(x: f64, y: f64) -> bool {
if feq(x, y) {
return true;
}
x < y
}