#![no_std]
pub use core::f64::consts::{E, PI, TAU};
type Float = f64;
pub fn metres_to_feet(metres: Float) -> Float {
metres * crate::length::metric::METRES_TO_FEET
}
pub fn feet_to_metres(feet: Float) -> Float {
feet / crate::length::metric::METRES_TO_FEET
}
pub mod gravitational_pull {
use crate::Float;
pub mod earth {
use crate::Float;
pub const STANDARD: Float = 9.80665;
pub const EQUATORIAL: Float = 9.7803267715;
}
pub const MOON: Float = 1.622;
pub const MERCURY: Float = 3.7;
pub const VENUS: Float = 8.87;
pub const MARS: Float = 3.72076;
pub const JUPITER: Float = 24.79;
pub const SATURN: Float = 10.44;
pub const URANUS: Float = 8.69;
pub const NEPTUNE: Float = 11.15;
}
pub mod length {
pub mod metric {
use crate::Float;
pub const METRES_TO_FEET: Float = 3.28084;
}
}
pub const SPEED_OF_LIGHT: Float = 299792458.0;
#[cfg(test)]
mod tests {
#[test]
fn metres_to_feet() {
assert_eq!(super::metres_to_feet(1.0), 3.28084)
}
#[test]
fn feet_to_metres() {
assert_eq!(super::feet_to_metres(3.28084), 1.0)
}
}