use_gravity_basic_usage/
basic_usage.rs1use use_gravity::{GRAVITATIONAL_CONSTANT, GravityBody, escape_velocity, gravitational_force};
2
3fn main() -> Result<(), &'static str> {
4 let earth = GravityBody::new(5.972e24, 6.371e6).ok_or("invalid Earth body")?;
5 let surface_gravity = earth
6 .surface_gravity()
7 .ok_or("invalid surface gravity calculation")?;
8 let force = gravitational_force(1.0, 1.0, 1.0).ok_or("invalid force calculation")?;
9 let velocity = escape_velocity(5.972e24, 6.371e6).ok_or("invalid escape calculation")?;
10
11 assert!((force - GRAVITATIONAL_CONSTANT).abs() < f64::EPSILON);
12 assert!(surface_gravity > 9.8);
13 assert!(velocity > 11_000.0);
14
15 Ok(())
16}