Skip to content

Commit

Permalink
Expose major bodies to Python
Browse files Browse the repository at this point in the history
  • Loading branch information
helgee committed Jan 16, 2024
1 parent 35ab780 commit e1b0d3b
Show file tree
Hide file tree
Showing 11 changed files with 1,404 additions and 1,119 deletions.
459 changes: 208 additions & 251 deletions crates/lox_core/src/bodies.rs

Large diffs are not rendered by default.

39 changes: 18 additions & 21 deletions crates/lox_core/src/bodies/generated/barycenters.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,47 @@ use crate::bodies::{
PlutoBarycenter, PointMass, SaturnBarycenter, UranusBarycenter, VenusBarycenter,
};
impl PointMass for MercuryBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
22031.868551400003f64
}
}
impl PointMass for VenusBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
324858.592f64
}
}
impl PointMass for EarthBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
403503.2356254802f64
}
}
impl PointMass for MarsBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
42828.3758157561f64
}
}
impl PointMass for JupiterBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
126712764.09999998f64
}
}
impl PointMass for SaturnBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
37940584.8418f64
}
}
impl PointMass for UranusBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
5794556.3999999985f64
}
}
impl PointMass for NeptuneBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
6836527.100580399f64
}
}
impl PointMass for PlutoBarycenter {
fn gravitational_parameter() -> f64 {
fn gravitational_parameter(&self) -> f64 {
975.5f64
}
}
Expand All @@ -64,58 +64,55 @@ mod tests {
#[test]
fn test_point_mass_1() {
assert_eq!(
MercuryBarycenter::gravitational_parameter(),
MercuryBarycenter.gravitational_parameter(),
22031.868551400003f64
);
}
#[test]
fn test_point_mass_2() {
assert_eq!(VenusBarycenter::gravitational_parameter(), 324858.592f64);
assert_eq!(VenusBarycenter.gravitational_parameter(), 324858.592f64);
}
#[test]
fn test_point_mass_3() {
assert_eq!(
EarthBarycenter::gravitational_parameter(),
EarthBarycenter.gravitational_parameter(),
403503.2356254802f64
);
}
#[test]
fn test_point_mass_4() {
assert_eq!(
MarsBarycenter::gravitational_parameter(),
MarsBarycenter.gravitational_parameter(),
42828.3758157561f64
);
}
#[test]
fn test_point_mass_5() {
assert_eq!(
JupiterBarycenter::gravitational_parameter(),
JupiterBarycenter.gravitational_parameter(),
126712764.09999998f64
);
}
#[test]
fn test_point_mass_6() {
assert_eq!(
SaturnBarycenter::gravitational_parameter(),
37940584.8418f64
);
assert_eq!(SaturnBarycenter.gravitational_parameter(), 37940584.8418f64);
}
#[test]
fn test_point_mass_7() {
assert_eq!(
UranusBarycenter::gravitational_parameter(),
UranusBarycenter.gravitational_parameter(),
5794556.3999999985f64
);
}
#[test]
fn test_point_mass_8() {
assert_eq!(
NeptuneBarycenter::gravitational_parameter(),
NeptuneBarycenter.gravitational_parameter(),
6836527.100580399f64
);
}
#[test]
fn test_point_mass_9() {
assert_eq!(PlutoBarycenter::gravitational_parameter(), 975.5f64);
assert_eq!(PlutoBarycenter.gravitational_parameter(), 975.5f64);
}
}
Loading

0 comments on commit e1b0d3b

Please sign in to comment.