diff --git a/.gitignore b/.gitignore
index f3040fd5..ab3c418d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/target
/tools/*/target/
.venv/
+.idea/*
\ No newline at end of file
diff --git a/.idea/lox-space.iml b/.idea/lox-space.iml
index 5407fa9f..7e2df88b 100644
--- a/.idea/lox-space.iml
+++ b/.idea/lox-space.iml
@@ -12,7 +12,6 @@
-
diff --git a/crates/lox_core/src/bodies.rs b/crates/lox_core/src/bodies.rs
index c83d2b26..af470af9 100644
--- a/crates/lox_core/src/bodies.rs
+++ b/crates/lox_core/src/bodies.rs
@@ -68,28 +68,27 @@ pub fn gravitational_parameter(_: T) -> f64 {
::gravitational_parameter()
}
-const N_COEFFICIENTS: usize = 18;
+pub type PolynomialCoefficients = (f64, f64, f64, &'static [f64]);
-type PolynomialCoefficients = (f64, f64, f64, [f64; N_COEFFICIENTS]);
-
-type NutationPrecessionCoefficients = ([f64; N_COEFFICIENTS], [f64; N_COEFFICIENTS]);
+pub type NutationPrecessionCoefficients = (&'static [f64], &'static [f64]);
type Elements = (f64, f64, f64);
pub trait RotationalElements: Copy {
- fn nutation_precession_coefficients() -> NutationPrecessionCoefficients;
-
- fn right_ascension_coefficients() -> PolynomialCoefficients;
-
- fn declination_coefficients() -> PolynomialCoefficients;
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients;
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients;
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients;
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients;
- fn prime_meridian_coefficients() -> PolynomialCoefficients;
-
- fn theta(t: f64) -> [f64; N_COEFFICIENTS] {
+ fn theta(t: f64) -> Vec {
let t = t / SECONDS_PER_JULIAN_CENTURY;
- let (theta0, theta1) = Self::nutation_precession_coefficients();
- let mut theta = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
+ let (theta0, theta1) = Self::NUTATION_PRECESSION_COEFFICIENTS;
+ let mut theta = vec![0.0; theta0.len()];
+ if theta0.is_empty() {
+ return theta;
+ }
+
+ for i in 0..theta.len() {
theta[i] = theta0[i] + theta1[i] * t;
}
theta
@@ -97,11 +96,13 @@ pub trait RotationalElements: Copy {
fn right_ascension(t: f64) -> f64 {
let dt = SECONDS_PER_JULIAN_CENTURY;
- let (c0, c1, c2, c) = Self::right_ascension_coefficients();
+ let (c0, c1, c2, c) = Self::RIGHT_ASCENSION_COEFFICIENTS;
let theta = Self::theta(t);
- let mut c_trig = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
- c_trig[i] = c[i] * theta[i].sin();
+ let mut c_trig = vec![0.0; c.len()];
+ if !c.is_empty() {
+ for i in 0..c.len() {
+ c_trig[i] = c[i] * theta[i].sin();
+ }
}
let c_trig: f64 = c_trig.iter().sum();
c0 + c1 * t / dt + c2 * t.powi(2) / dt.powi(2) + c_trig
@@ -109,12 +110,14 @@ pub trait RotationalElements: Copy {
fn right_ascension_dot(t: f64) -> f64 {
let dt = SECONDS_PER_JULIAN_CENTURY;
- let (_, c1, c2, c) = Self::right_ascension_coefficients();
- let (_, theta1) = Self::nutation_precession_coefficients();
+ let (_, c1, c2, c) = Self::RIGHT_ASCENSION_COEFFICIENTS;
+ let (_, theta1) = Self::NUTATION_PRECESSION_COEFFICIENTS;
let theta = Self::theta(t);
- let mut c_trig = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
- c_trig[i] = c[i] * theta1[i] / SECONDS_PER_JULIAN_CENTURY * theta[i].cos()
+ let mut c_trig = vec![0.0; c.len()];
+ if !c.is_empty() {
+ for i in 0..c.len() {
+ c_trig[i] = c[i] * theta1[i] / SECONDS_PER_JULIAN_CENTURY * theta[i].cos()
+ }
}
let c_trig: f64 = c_trig.iter().sum();
c1 / dt + 2.0 * c2 * t / dt.powi(2) + c_trig
@@ -122,11 +125,13 @@ pub trait RotationalElements: Copy {
fn declination(t: f64) -> f64 {
let dt = SECONDS_PER_JULIAN_CENTURY;
- let (c0, c1, c2, c) = Self::declination_coefficients();
+ let (c0, c1, c2, c) = Self::DECLINATION_COEFFICIENTS;
let theta = Self::theta(t);
- let mut c_trig = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
- c_trig[i] = c[i] * theta[i].cos();
+ let mut c_trig = vec![0.0; c.len()];
+ if !c.is_empty() {
+ for i in 0..c.len() {
+ c_trig[i] = c[i] * theta[i].cos();
+ }
}
let c_trig: f64 = c_trig.iter().sum();
c0 + c1 * t / dt + c2 * t.powi(2) / dt.powi(2) + c_trig
@@ -134,12 +139,14 @@ pub trait RotationalElements: Copy {
fn declination_dot(t: f64) -> f64 {
let dt = SECONDS_PER_JULIAN_CENTURY;
- let (_, c1, c2, c) = Self::declination_coefficients();
- let (_, theta1) = Self::nutation_precession_coefficients();
+ let (_, c1, c2, c) = Self::DECLINATION_COEFFICIENTS;
+ let (_, theta1) = Self::NUTATION_PRECESSION_COEFFICIENTS;
let theta = Self::theta(t);
- let mut c_trig = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
- c_trig[i] = c[i] * theta1[i] / SECONDS_PER_JULIAN_CENTURY * theta[i].sin()
+ let mut c_trig = vec![0.0; c.len()];
+ if !c.is_empty() {
+ for i in 0..c.len() {
+ c_trig[i] = c[i] * theta1[i] / SECONDS_PER_JULIAN_CENTURY * theta[i].sin()
+ }
}
let c_trig: f64 = c_trig.iter().sum();
c1 / dt + 2.0 * c2 * t / dt.powi(2) - c_trig
@@ -147,11 +154,13 @@ pub trait RotationalElements: Copy {
fn prime_meridian(t: f64) -> f64 {
let dt = SECONDS_PER_DAY;
- let (c0, c1, c2, c) = Self::prime_meridian_coefficients();
+ let (c0, c1, c2, c) = Self::PRIME_MERIDIAN_COEFFICIENTS;
let theta = Self::theta(t);
- let mut c_trig = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
- c_trig[i] = c[i] * theta[i].sin();
+ let mut c_trig = vec![0.0; c.len()];
+ if !c.is_empty() {
+ for i in 0..c.len() {
+ c_trig[i] = c[i] * theta[i].sin();
+ }
}
let c_trig: f64 = c_trig.iter().sum();
c0 + c1 * t / dt + c2 * t.powi(2) / dt.powi(2) + c_trig
@@ -159,12 +168,14 @@ pub trait RotationalElements: Copy {
fn prime_meridian_dot(t: f64) -> f64 {
let dt = SECONDS_PER_DAY;
- let (_, c1, c2, c) = Self::prime_meridian_coefficients();
- let (_, theta1) = Self::nutation_precession_coefficients();
+ let (_, c1, c2, c) = Self::PRIME_MERIDIAN_COEFFICIENTS;
+ let (_, theta1) = Self::NUTATION_PRECESSION_COEFFICIENTS;
let theta = Self::theta(t);
- let mut c_trig = [0.0; N_COEFFICIENTS];
- for i in 0..N_COEFFICIENTS {
- c_trig[i] = c[i] * theta1[i] / SECONDS_PER_JULIAN_CENTURY * theta[i].cos()
+ let mut c_trig = vec![0.0; c.len()];
+ if !c.is_empty() {
+ for i in 0..c.len() {
+ c_trig[i] = c[i] * theta1[i] / SECONDS_PER_JULIAN_CENTURY * theta[i].cos()
+ }
}
let c_trig: f64 = c_trig.iter().sum();
c1 / dt + 2.0 * c2 * t / dt.powi(2) + c_trig
@@ -187,124 +198,10 @@ pub trait RotationalElements: Copy {
}
}
-impl RotationalElements for planets::Jupiter {
- fn nutation_precession_coefficients() -> NutationPrecessionCoefficients {
- (
- [
- 1.2796754075622423,
- 0.42970006184100396,
- 4.9549897464119015,
- 6.2098814785958245,
- 2.092649773141201,
- 4.010766621082969,
- 6.147922290150026,
- 1.9783307071355725,
- 2.5593508151244846,
- 0.8594001236820079,
- 1.734171606432425,
- 3.0699533280603655,
- 5.241627996900319,
- 1.9898901100379935,
- 0.864134346731335,
- 0.0,
- 0.0,
- 0.0,
- ],
- [
- 1596.503281347521,
- 787.7927551311844,
- 84.66068602648895,
- 20.792107379008446,
- 4.574507969477138,
- 1.1222467090323538,
- 41.58421475801689,
- 105.9414855960558,
- 3193.006562695042,
- 1575.5855102623689,
- 84.65553032387855,
- 20.80363527871787,
- 4.582318317879813,
- 105.94580703128374,
- 1.1222467090323538,
- 0.0,
- 0.0,
- 0.0,
- ],
- )
- }
-
- fn right_ascension_coefficients() -> PolynomialCoefficients {
- (
- 4.6784701644349695,
- -0.00011342894808711148,
- 0.0,
- [
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 2.0420352248333656e-6,
- 1.6371188383706813e-5,
- 2.4993114888558796e-5,
- 5.235987755982989e-7,
- 3.752457891787809e-5,
- 0.0,
- 0.0,
- 0.0,
- ],
- )
- }
-
- fn declination_coefficients() -> PolynomialCoefficients {
- (
- 1.1256553894213766,
- 4.211479485062318e-5,
- 0.0,
- [
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 8.726646259971648e-7,
- 7.051130178057092e-6,
- 1.0768681484805013e-5,
- -2.2689280275926283e-7,
- 1.616174887346749e-5,
- 0.0,
- 0.0,
- 0.0,
- ],
- )
- }
-
- fn prime_meridian_coefficients() -> PolynomialCoefficients {
- (
- 4.973315703557842,
- 15.193719457141356,
- 0.0,
- [0.0; N_COEFFICIENTS],
- )
- }
-}
-
#[cfg(test)]
mod tests {
use float_eq::assert_float_eq;
- use crate::bodies::planets::Jupiter;
-
use super::planets::Earth;
use super::satellites::Moon;
use super::*;
@@ -347,29 +244,216 @@ mod tests {
assert_eq!(along_orbit_radius(Moon), Moon::along_orbit_radius());
}
+ // Jupiter is manually redefined here usings known data. This avoids a dependecy on the
+ // correctness of the PCK parser to test RotationalElements.
+ #[derive(Copy, Clone)]
+ struct Jupiter;
+
+ impl RotationalElements for Jupiter {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 1.2796754075622423f64,
+ 0.42970006184100396f64,
+ 4.9549897464119015f64,
+ 6.2098814785958245f64,
+ 2.092649773141201f64,
+ 4.010766621082969f64,
+ 6.147922290150026f64,
+ 1.9783307071355725f64,
+ 2.5593508151244846f64,
+ 0.8594001236820079f64,
+ 1.734171606432425f64,
+ 3.0699533280603655f64,
+ 5.241627996900319f64,
+ 1.9898901100379935f64,
+ 0.864134346731335f64,
+ ],
+ &[
+ 1596.503281347521f64,
+ 787.7927551311844f64,
+ 84.66068602648895f64,
+ 20.792107379008446f64,
+ 4.574507969477138f64,
+ 1.1222467090323538f64,
+ 41.58421475801689f64,
+ 105.9414855960558f64,
+ 3193.006562695042f64,
+ 1575.5855102623689f64,
+ 84.65553032387855f64,
+ 20.80363527871787f64,
+ 4.582318317879813f64,
+ 105.94580703128374f64,
+ 1.1222467090323538f64,
+ ],
+ );
+
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.6784701644349695f64,
+ -0.00011342894808711148f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0000020420352248333656f64,
+ 0.000016371188383706813f64,
+ 0.000024993114888558796f64,
+ 0.0000005235987755982989f64,
+ 0.00003752457891787809f64,
+ ],
+ );
+
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.1256553894213766f64,
+ 0.00004211479485062318f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0000008726646259971648f64,
+ 0.000007051130178057092f64,
+ 0.000010768681484805013f64,
+ -0.00000022689280275926283f64,
+ 0.00001616174887346749f64,
+ ],
+ );
+
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.973315703557842f64,
+ 15.193719457141356f64,
+ 0f64,
+ &[
+ 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64,
+ 0f64,
+ ],
+ );
+ }
+
#[test]
- fn test_rotational_elements() {
+ fn test_rotational_elements_right_ascension() {
assert_float_eq!(
Jupiter::right_ascension(0.0),
4.678480799964803,
rel <= 1e-8
);
+ }
+
+ #[test]
+ fn test_rotational_elements_right_ascension_dot() {
assert_float_eq!(
Jupiter::right_ascension_dot(0.0),
-1.3266588500099516e-13,
rel <= 1e-8
);
+ }
+
+ #[test]
+ fn test_rotational_elements_declination() {
assert_float_eq!(Jupiter::declination(0.0), 1.1256642372977634, rel <= 1e-8);
+ }
+
+ #[test]
+ fn test_rotational_elements_declination_dot() {
assert_float_eq!(
Jupiter::declination_dot(0.0),
3.004482367136341e-15,
rel <= 1e-8
);
+ }
+
+ #[test]
+ fn test_rotational_elements_prime_meridian() {
assert_float_eq!(Jupiter::prime_meridian(0.0), 4.973315703557842, rel <= 1e-8);
+ }
+
+ #[test]
+ fn test_rotational_elements_prime_meridian_dot() {
assert_float_eq!(
Jupiter::prime_meridian_dot(0.0),
0.00017585323445765458,
rel <= 1e-8
);
}
+
+ #[test]
+ fn test_rotational_elements_rotational_elements() {
+ let (ra, dec, pm) = Jupiter::rotational_elements(0.0);
+ let (expected_ra, expected_dec, expected_pm) =
+ (6.249277121030398, 0.44513208936761073, 4.973315703557842);
+
+ assert_float_eq!(
+ ra,
+ expected_ra,
+ rel <= 1e-8,
+ "Expected right ascension {}, got {}",
+ expected_ra,
+ ra
+ );
+ assert_float_eq!(
+ dec,
+ expected_dec,
+ rel <= 1e-8,
+ "Expected declination {}, got {}",
+ expected_dec,
+ dec
+ );
+ assert_float_eq!(
+ pm,
+ expected_pm,
+ rel <= 1e-8,
+ "Expected prime meridian {}, got {}",
+ expected_pm,
+ pm
+ );
+ }
+
+ #[test]
+ fn test_rotational_elements_rotational_element_rates() {
+ let (ra_dot, dec_dot, pm_dot) = Jupiter::rotational_element_rates(0.0);
+ let (expected_ra_dot, expected_dec_dot, expected_pm_dot) = (
+ -1.3266588500099516e-13,
+ -3.004482367136341e-15,
+ 0.00017585323445765458,
+ );
+
+ assert_float_eq!(
+ ra_dot,
+ expected_ra_dot,
+ rel <= 1e-8,
+ "Expected right ascension rate {}, got {}",
+ expected_ra_dot,
+ ra_dot
+ );
+ assert_float_eq!(
+ dec_dot,
+ expected_dec_dot,
+ rel <= 1e-8,
+ "Expected declination rate {}, got {}",
+ expected_dec_dot,
+ dec_dot
+ );
+ assert_float_eq!(
+ pm_dot,
+ expected_pm_dot,
+ rel <= 1e-8,
+ "Expected prime meridian rate {}, got {}",
+ expected_pm_dot,
+ pm_dot
+ );
+ }
}
diff --git a/crates/lox_core/src/bodies/barycenters.rs b/crates/lox_core/src/bodies/barycenters.rs
index 06e836ef..c1116a83 100644
--- a/crates/lox_core/src/bodies/barycenters.rs
+++ b/crates/lox_core/src/bodies/barycenters.rs
@@ -125,6 +125,7 @@ impl PointMass for PlutoBarycenter {
}
}
#[cfg(test)]
+#[allow(clippy::approx_constant)]
mod tests {
use super::*;
#[test]
diff --git a/crates/lox_core/src/bodies/minor.rs b/crates/lox_core/src/bodies/minor.rs
index 41a0cc79..2d758080 100644
--- a/crates/lox_core/src/bodies/minor.rs
+++ b/crates/lox_core/src/bodies/minor.rs
@@ -8,7 +8,10 @@
// Auto-generated by `lox_gen`. Do not edit!
-use super::{Ellipsoid, NaifId, PointMass, TriAxial};
+use super::{
+ Ellipsoid, NaifId, NutationPrecessionCoefficients, PointMass, PolynomialCoefficients,
+ RotationalElements, TriAxial,
+};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Gaspra;
impl NaifId for Gaspra {
@@ -32,6 +35,21 @@ impl TriAxial for Gaspra {
5.2f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Gaspra {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (0.16528268016386302f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (0.46600291028248597f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4603169851436555f64,
+ 21.41364504378302f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ida;
impl NaifId for Ida {
@@ -55,6 +73,21 @@ impl TriAxial for Ida {
12f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ida {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (2.9454176456656302f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-1.5205308443374599f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.78307481509046f64,
+ 32.54389804704987f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Dactyl;
impl NaifId for Dactyl {
@@ -62,6 +95,14 @@ impl NaifId for Dactyl {
2431011i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Dactyl {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ceres;
impl NaifId for Ceres {
@@ -90,6 +131,21 @@ impl TriAxial for Ceres {
487.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ceres {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (5.0862035995768355f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (1.165251621801494f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.9784043685283237f64,
+ 16.618208323400072f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pallas;
impl NaifId for Pallas {
@@ -102,6 +158,21 @@ impl PointMass for Pallas {
13.665878145967422f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pallas {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (0.5759586531581288f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-0.05235987755982989f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.6632251157578453f64,
+ 19.299913700406368f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Vesta;
impl NaifId for Vesta {
@@ -130,6 +201,21 @@ impl TriAxial for Vesta {
280f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Vesta {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (5.393608440730596f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (0.7371398095798051f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.980995152266617f64,
+ 28.22778495282912f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Psyche;
impl NaifId for Psyche {
@@ -158,6 +244,14 @@ impl TriAxial for Psyche {
116f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Psyche {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Lutetia;
impl NaifId for Lutetia {
@@ -181,6 +275,21 @@ impl TriAxial for Lutetia {
50.5f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Lutetia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (0.9075712110370514f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (0.20943951023931956f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.6406094968746698f64,
+ 18.4612463429088f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kleopatra;
impl NaifId for Kleopatra {
@@ -188,6 +297,14 @@ impl NaifId for Kleopatra {
2000216i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kleopatra {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Eros;
impl NaifId for Eros {
@@ -216,6 +333,21 @@ impl TriAxial for Eros {
5.5f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Eros {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (0.1980948701013564f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (0.30054569719342356f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.690995091977911f64,
+ 28.612729617819042f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Davida;
impl NaifId for Davida {
@@ -244,6 +376,21 @@ impl TriAxial for Davida {
147f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Davida {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (5.183627878423159f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (0.08726646259971647f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.679227724596798f64,
+ 29.39866372732388f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mathilde;
impl NaifId for Mathilde {
@@ -267,6 +414,14 @@ impl TriAxial for Mathilde {
24f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mathilde {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Steins;
impl NaifId for Steins {
@@ -290,6 +445,21 @@ impl TriAxial for Steins {
2.73f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Steins {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (1.5882496193148399f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-1.0821041362364843f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.615771401216954f64,
+ 24.925032561498227f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Braille;
impl NaifId for Braille {
@@ -297,6 +467,14 @@ impl NaifId for Braille {
2009969i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Braille {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct WilsonHarrington;
impl NaifId for WilsonHarrington {
@@ -304,6 +482,14 @@ impl NaifId for WilsonHarrington {
2004015i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for WilsonHarrington {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Toutatis;
impl NaifId for Toutatis {
@@ -327,6 +513,14 @@ impl TriAxial for Toutatis {
1.015f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Toutatis {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Itokawa;
impl NaifId for Itokawa {
@@ -350,6 +544,17 @@ impl TriAxial for Itokawa {
0.147f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Itokawa {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (1.5800465718304666f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-1.1571532940722404f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients =
+ (0f64, 12.429240095029979f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Bennu;
impl NaifId for Bennu {
@@ -357,7 +562,16 @@ impl NaifId for Bennu {
2101955i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Bennu {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[cfg(test)]
+#[allow(clippy::approx_constant)]
mod tests {
use super::*;
#[test]
@@ -372,6 +586,39 @@ mod tests {
assert_eq!(Gaspra::along_orbit_radius(), 5.2f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_9511010() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Gaspra::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_9511010() {
+ assert_eq!(
+ (0.16528268016386302f64, 0f64, 0f64, &[] as &[f64]),
+ Gaspra::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_9511010() {
+ assert_eq!(
+ (0.46600291028248597f64, 0f64, 0f64, &[] as &[f64]),
+ Gaspra::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_9511010() {
+ assert_eq!(
+ (
+ 1.4603169851436555f64,
+ 21.41364504378302f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Gaspra::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2431010() {
assert_eq!(Ida::id(), 2431010i32)
}
@@ -383,10 +630,71 @@ mod tests {
assert_eq!(Ida::along_orbit_radius(), 12f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2431010() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ida::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2431010() {
+ assert_eq!(
+ (2.9454176456656302f64, 0f64, 0f64, &[] as &[f64]),
+ Ida::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2431010() {
+ assert_eq!(
+ (-1.5205308443374599f64, 0f64, 0f64, &[] as &[f64]),
+ Ida::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2431010() {
+ assert_eq!(
+ (
+ 4.78307481509046f64,
+ 32.54389804704987f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Ida::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2431011() {
assert_eq!(Dactyl::id(), 2431011i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2431011() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Dactyl::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2431011() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Dactyl::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2431011() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Dactyl::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2431011() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Dactyl::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000001() {
assert_eq!(Ceres::id(), 2000001i32)
}
@@ -402,6 +710,39 @@ mod tests {
assert_eq!(Ceres::along_orbit_radius(), 487.3f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000001() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ceres::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000001() {
+ assert_eq!(
+ (5.0862035995768355f64, 0f64, 0f64, &[] as &[f64]),
+ Ceres::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000001() {
+ assert_eq!(
+ (1.165251621801494f64, 0f64, 0f64, &[] as &[f64]),
+ Ceres::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000001() {
+ assert_eq!(
+ (
+ 2.9784043685283237f64,
+ 16.618208323400072f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Ceres::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000002() {
assert_eq!(Pallas::id(), 2000002i32)
}
@@ -410,6 +751,39 @@ mod tests {
assert_eq!(Pallas::gravitational_parameter(), 13.665878145967422f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000002() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pallas::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000002() {
+ assert_eq!(
+ (0.5759586531581288f64, 0f64, 0f64, &[] as &[f64]),
+ Pallas::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000002() {
+ assert_eq!(
+ (-0.05235987755982989f64, 0f64, 0f64, &[] as &[f64]),
+ Pallas::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000002() {
+ assert_eq!(
+ (
+ 0.6632251157578453f64,
+ 19.299913700406368f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pallas::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000004() {
assert_eq!(Vesta::id(), 2000004i32)
}
@@ -425,6 +799,39 @@ mod tests {
assert_eq!(Vesta::along_orbit_radius(), 280f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000004() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Vesta::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000004() {
+ assert_eq!(
+ (5.393608440730596f64, 0f64, 0f64, &[] as &[f64]),
+ Vesta::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000004() {
+ assert_eq!(
+ (0.7371398095798051f64, 0f64, 0f64, &[] as &[f64]),
+ Vesta::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000004() {
+ assert_eq!(
+ (
+ 4.980995152266617f64,
+ 28.22778495282912f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Vesta::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000016() {
assert_eq!(Psyche::id(), 2000016i32)
}
@@ -440,6 +847,34 @@ mod tests {
assert_eq!(Psyche::along_orbit_radius(), 116f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000016() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Psyche::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000016() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Psyche::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000016() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Psyche::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000016() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Psyche::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000021() {
assert_eq!(Lutetia::id(), 2000021i32)
}
@@ -451,10 +886,71 @@ mod tests {
assert_eq!(Lutetia::along_orbit_radius(), 50.5f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000021() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Lutetia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000021() {
+ assert_eq!(
+ (0.9075712110370514f64, 0f64, 0f64, &[] as &[f64]),
+ Lutetia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000021() {
+ assert_eq!(
+ (0.20943951023931956f64, 0f64, 0f64, &[] as &[f64]),
+ Lutetia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000021() {
+ assert_eq!(
+ (
+ 1.6406094968746698f64,
+ 18.4612463429088f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Lutetia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000216() {
assert_eq!(Kleopatra::id(), 2000216i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000216() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kleopatra::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000216() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kleopatra::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000216() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kleopatra::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000216() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kleopatra::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000433() {
assert_eq!(Eros::id(), 2000433i32)
}
@@ -470,6 +966,39 @@ mod tests {
assert_eq!(Eros::along_orbit_radius(), 5.5f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000433() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Eros::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000433() {
+ assert_eq!(
+ (0.1980948701013564f64, 0f64, 0f64, &[] as &[f64]),
+ Eros::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000433() {
+ assert_eq!(
+ (0.30054569719342356f64, 0f64, 0f64, &[] as &[f64]),
+ Eros::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000433() {
+ assert_eq!(
+ (
+ 5.690995091977911f64,
+ 28.612729617819042f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Eros::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000511() {
assert_eq!(Davida::id(), 2000511i32)
}
@@ -485,6 +1014,39 @@ mod tests {
assert_eq!(Davida::along_orbit_radius(), 147f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000511() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Davida::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000511() {
+ assert_eq!(
+ (5.183627878423159f64, 0f64, 0f64, &[] as &[f64]),
+ Davida::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000511() {
+ assert_eq!(
+ (0.08726646259971647f64, 0f64, 0f64, &[] as &[f64]),
+ Davida::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000511() {
+ assert_eq!(
+ (
+ 4.679227724596798f64,
+ 29.39866372732388f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Davida::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2000253() {
assert_eq!(Mathilde::id(), 2000253i32)
}
@@ -496,6 +1058,34 @@ mod tests {
assert_eq!(Mathilde::along_orbit_radius(), 24f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2000253() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Mathilde::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2000253() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mathilde::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2000253() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mathilde::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2000253() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mathilde::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2002867() {
assert_eq!(Steins::id(), 2002867i32)
}
@@ -507,14 +1097,103 @@ mod tests {
assert_eq!(Steins::along_orbit_radius(), 2.73f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2002867() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Steins::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2002867() {
+ assert_eq!(
+ (1.5882496193148399f64, 0f64, 0f64, &[] as &[f64]),
+ Steins::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2002867() {
+ assert_eq!(
+ (-1.0821041362364843f64, 0f64, 0f64, &[] as &[f64]),
+ Steins::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2002867() {
+ assert_eq!(
+ (
+ 5.615771401216954f64,
+ 24.925032561498227f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Steins::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2009969() {
assert_eq!(Braille::id(), 2009969i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2009969() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Braille::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2009969() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Braille::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2009969() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Braille::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2009969() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Braille::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2004015() {
assert_eq!(WilsonHarrington::id(), 2004015i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2004015() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ WilsonHarrington::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2004015() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ WilsonHarrington::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2004015() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ WilsonHarrington::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2004015() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ WilsonHarrington::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2004179() {
assert_eq!(Toutatis::id(), 2004179i32)
}
@@ -526,6 +1205,34 @@ mod tests {
assert_eq!(Toutatis::along_orbit_radius(), 1.015f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2004179() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Toutatis::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2004179() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Toutatis::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2004179() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Toutatis::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2004179() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Toutatis::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2025143() {
assert_eq!(Itokawa::id(), 2025143i32)
}
@@ -537,7 +1244,63 @@ mod tests {
assert_eq!(Itokawa::along_orbit_radius(), 0.147f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2025143() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Itokawa::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2025143() {
+ assert_eq!(
+ (1.5800465718304666f64, 0f64, 0f64, &[] as &[f64]),
+ Itokawa::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2025143() {
+ assert_eq!(
+ (-1.1571532940722404f64, 0f64, 0f64, &[] as &[f64]),
+ Itokawa::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2025143() {
+ assert_eq!(
+ (0f64, 12.429240095029979f64, 0f64, &[] as &[f64]),
+ Itokawa::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_2101955() {
assert_eq!(Bennu::id(), 2101955i32)
}
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_2101955() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Bennu::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_2101955() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bennu::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_2101955() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bennu::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_2101955() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bennu::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
}
diff --git a/crates/lox_core/src/bodies/planets.rs b/crates/lox_core/src/bodies/planets.rs
index 831ae599..affb8e29 100644
--- a/crates/lox_core/src/bodies/planets.rs
+++ b/crates/lox_core/src/bodies/planets.rs
@@ -8,7 +8,10 @@
// Auto-generated by `lox_gen`. Do not edit!
-use super::{Ellipsoid, NaifId, PointMass, Spheroid};
+use super::{
+ Ellipsoid, NaifId, NutationPrecessionCoefficients, PointMass, PolynomialCoefficients,
+ RotationalElements, Spheroid,
+};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mercury;
impl NaifId for Mercury {
@@ -34,6 +37,49 @@ impl Spheroid for Mercury {
2440.53f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mercury {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 3.0506799486005773f64,
+ 6.101359897201155f64,
+ 2.868854538622146f64,
+ 5.919534488968053f64,
+ 2.6870291303890443f64,
+ ] as &[f64],
+ &[
+ 2608.7878923240937f64,
+ 5217.575784648187f64,
+ 7826.363676972282f64,
+ 10435.151569296375f64,
+ 13043.939461620466f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.904554967017021f64,
+ -0.0005724679946541401f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.0719026867585775f64,
+ -0.00008552113334772214f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.752584270622286f64,
+ 0.10713722462923113f64,
+ 0f64,
+ &[
+ 0.0001862714861495712f64,
+ -0.000019601618296223117f64,
+ -0.00000192684349420174f64,
+ -0.00000044313909708136026f64,
+ -0.00000009965830028887623f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Venus;
impl NaifId for Venus {
@@ -59,6 +105,21 @@ impl Spheroid for Venus {
6051.8f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Venus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (4.760560067739733f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (1.1721631256393916f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.7960174616949156f64,
+ -0.025854762996317376f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Earth;
impl NaifId for Earth {
@@ -84,6 +145,55 @@ impl Spheroid for Earth {
6378.1366f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Earth {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 2.1824469631563095f64,
+ 4.364876473020098f64,
+ 4.537995681525416f64,
+ 3.0826877913349846f64,
+ 6.240058221362807f64,
+ 5.438253962996612f64,
+ 2.355548718369107f64,
+ 4.827877416989155f64,
+ 0.5973563897875792f64,
+ 0.2641381289968218f64,
+ 2.0899096062155698f64,
+ 4.188109526378113f64,
+ 0.4372573375021394f64,
+ ] as &[f64],
+ &[
+ -33.781483888495835f64,
+ -67.56296777699167f64,
+ 8294.909972626925f64,
+ 8504.459388212737f64,
+ 628.3019668015924f64,
+ 16833.15084472816f64,
+ 8328.69145651542f64,
+ 209.54947933396397f64,
+ 1114.6285779726247f64,
+ -101.3444516654875f64,
+ 2.301053255936537f64,
+ 104.77473966698199f64,
+ 8261.12848873843f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (0f64, -0.011187560505283653f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.5707963267948966f64,
+ -0.009721483933608416f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.3186912127896577f64,
+ 6.3003876824396166f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mars;
impl NaifId for Mars {
@@ -109,6 +219,175 @@ impl Spheroid for Mars {
3396.19f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mars {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 3.328804809897935f64,
+ 0f64,
+ 555.6129894920322f64,
+ 5.809517398292802f64,
+ 0f64,
+ 668.125936040531f64,
+ 3.3097152567180146f64,
+ 0.22186491448462606f64,
+ 11.523153020184504f64,
+ 4.032588225058434f64,
+ 0f64,
+ 23.047098122619843f64,
+ 3.8045796985836846f64,
+ 0f64,
+ 334.05316148477937f64,
+ 3.4730520762801462f64,
+ 0f64,
+ 668.1268926511307f64,
+ 4.357448194643978f64,
+ 0f64,
+ 1336.235189496269f64,
+ 1.3857704297725961f64,
+ 0f64,
+ 334.054984682245f64,
+ 0.751510868094019f64,
+ 0f64,
+ 1002.1811764929237f64,
+ 1.3871248750853138f64,
+ 0f64,
+ 0.008801023466045386f64,
+ 2.252727410236719f64,
+ 0f64,
+ 668.130317528175f64,
+ 0.9890544553471146f64,
+ 0f64,
+ 1336.2285297823557f64,
+ 1.8289772979888115f64,
+ 0f64,
+ 0.008801023466045386f64,
+ ] as &[f64],
+ &[
+ 277.80594525842264f64,
+ 0.37470342287773584f64,
+ 0f64,
+ 334.05422022489097f64,
+ 6.892873571600945f64,
+ 0f64,
+ 719340.2120445863f64,
+ 2.120032883264378f64,
+ 0f64,
+ 11.536473384554899f64,
+ 4.387288948439982f64,
+ 0f64,
+ 668.1113614443373f64,
+ 3.424288764152381f64,
+ 0f64,
+ 334.0469780000094f64,
+ 3.9495523217086292f64,
+ 0f64,
+ 1002.1807129125305f64,
+ 4.645778664015252f64,
+ 0f64,
+ 0.008801023466045386f64,
+ 2.136869016190709f64,
+ 0f64,
+ 668.1273150051017f64,
+ 1.0064158213753553f64,
+ 0f64,
+ 1336.2354112473317f64,
+ 2.9029314796567682f64,
+ 0f64,
+ 334.05659172556966f64,
+ 0.6344650043848296f64,
+ 0f64,
+ 1002.1842799588599f64,
+ 1.1757236496733376f64,
+ 0f64,
+ 1670.2877519268022f64,
+ 1.664898441223219f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.5373921900749785f64,
+ -0.001907216743164288f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000001186823891356144f64,
+ 0.000004153883619746505f64,
+ 0.0000009075712110370513f64,
+ 0.00000015707963267948966f64,
+ 0.007313924403529878f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.9500266243444937f64,
+ -0.0010170216810942417f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000000890117918517108f64,
+ 0.000002460914245312005f64,
+ 0.0000005410520681182422f64,
+ 0.00000008726646259971648f64,
+ 0.02777297060138025f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.0726497570349416f64,
+ 6.12422041248567f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000002530727415391778f64,
+ 0.0000027401669256310974f64,
+ 0.0000006981317007977319f64,
+ 0.000000017453292519943295f64,
+ 0.000000017453292519943295f64,
+ 0.010202182516192693f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Jupiter;
impl NaifId for Jupiter {
@@ -134,6 +413,98 @@ impl Spheroid for Jupiter {
71492f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Jupiter {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 1.2796754075622423f64,
+ 0.42970006184100396f64,
+ 4.9549897464119015f64,
+ 6.2098814785958245f64,
+ 2.092649773141201f64,
+ 4.010766621082969f64,
+ 6.147922290150026f64,
+ 1.9783307071355725f64,
+ 2.5593508151244846f64,
+ 0.8594001236820079f64,
+ 1.734171606432425f64,
+ 3.0699533280603655f64,
+ 5.241627996900319f64,
+ 1.9898901100379935f64,
+ 0.864134346731335f64,
+ ] as &[f64],
+ &[
+ 1596.503281347521f64,
+ 787.7927551311844f64,
+ 84.66068602648895f64,
+ 20.792107379008446f64,
+ 4.574507969477138f64,
+ 1.1222467090323538f64,
+ 41.58421475801689f64,
+ 105.9414855960558f64,
+ 3193.006562695042f64,
+ 1575.5855102623689f64,
+ 84.65553032387855f64,
+ 20.80363527871787f64,
+ 4.582318317879813f64,
+ 105.94580703128374f64,
+ 1.1222467090323538f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.6784701644349695f64,
+ -0.00011342894808711148f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0000020420352248333656f64,
+ 0.000016371188383706813f64,
+ 0.000024993114888558796f64,
+ 0.0000005235987755982989f64,
+ 0.00003752457891787809f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.1256553894213766f64,
+ 0.00004211479485062318f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0000008726646259971648f64,
+ 0.000007051130178057092f64,
+ 0.000010768681484805013f64,
+ -0.00000022689280275926283f64,
+ 0.00001616174887346749f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.973315703557842f64,
+ 15.193719457141356f64,
+ 0f64,
+ &[
+ 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Saturn;
impl NaifId for Saturn {
@@ -159,6 +530,49 @@ impl Spheroid for Saturn {
60268f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Saturn {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 6.166597313146365f64,
+ 0.5012585611727715f64,
+ 3.0962140930379407f64,
+ 5.235987755982989f64,
+ 5.523094417936056f64,
+ 6.0248765778844255f64,
+ 12.33319462629273f64,
+ 1.002517122345543f64,
+ ] as &[f64],
+ &[
+ 1321.331180819591f64,
+ 1321.331180819591f64,
+ -637.14117008679f64,
+ -126.11574641985825f64,
+ 8.834856673595295f64,
+ -17.73778118801837f64,
+ 2642.662361639182f64,
+ 2642.662361639182f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7084116900919784f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457995697238503f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.6789330790257941f64,
+ 14.151023151973554f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Uranus;
impl NaifId for Uranus {
@@ -184,6 +598,61 @@ impl Spheroid for Uranus {
25559f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Uranus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 2.0202186091834364f64,
+ 2.4729570171507653f64,
+ 2.356718088967943f64,
+ 1.0780898789568973f64,
+ 4.351454891072263f64,
+ 0.7655014099247129f64,
+ 1.3554226970987964f64,
+ 2.746450110938277f64,
+ 1.776919711455427f64,
+ 2.419724474964938f64,
+ 1.784250094313803f64,
+ 5.522396286235258f64,
+ 5.3059754589879615f64,
+ 5.388005933831694f64,
+ 5.948431156647074f64,
+ 4.522846223618106f64,
+ 3.568500188627606f64,
+ 11.044792572470516f64,
+ ] as &[f64],
+ &[
+ 959.7891933286942f64,
+ 731.077582955928f64,
+ 522.3307938967249f64,
+ 449.1358738582876f64,
+ 427.10754977009157f64,
+ 388.83160660922994f64,
+ 354.1171823199879f64,
+ 290.6454915444109f64,
+ 224.66977689099764f64,
+ 140.70512817020406f64,
+ -35.32930378471962f64,
+ 49.9855316454168f64,
+ -0.9065240134858548f64,
+ -1.626123264083117f64,
+ -1.314581992602129f64,
+ -8.810596596992575f64,
+ -70.65860756943924f64,
+ 99.9710632908336f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (4.4909241515991285f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-0.2648537139901395f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.557155548489643f64,
+ -8.746893698960328f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Neptune;
impl NaifId for Neptune {
@@ -209,6 +678,94 @@ impl Spheroid for Neptune {
24764f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Neptune {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
+ &[
+ 6.245660728261709f64,
+ 5.653470513060032f64,
+ 3.848625533572696f64,
+ 6.183177941040311f64,
+ 1.3144074596769295f64,
+ 0.6171484235051949f64,
+ 2.4890140462691135f64,
+ 3.104068074671915f64,
+ 11.306941026120064f64,
+ 6.20813614934383f64,
+ 9.312204224015744f64,
+ 12.41627229868766f64,
+ 15.520340373359575f64,
+ 18.624408448031488f64,
+ 21.728476522703406f64,
+ 24.83254459737532f64,
+ 27.936612672047236f64,
+ ] as &[f64],
+ &[
+ 0.9130864514733535f64,
+ 1092.6913034790819f64,
+ 961.0515899766616f64,
+ 812.7038395448996f64,
+ 455.6949957202075f64,
+ 250.02539666519567f64,
+ 49.29857005183183f64,
+ 0.9130864514733535f64,
+ 2185.3826069581637f64,
+ 1.826172902946707f64,
+ 2.7392593544200605f64,
+ 3.652345805893414f64,
+ 4.565432257366767f64,
+ 5.478518708840121f64,
+ 6.391605160313474f64,
+ 7.304691611786828f64,
+ 8.21777806326018f64,
+ ] as &[f64],
+ );
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7585200929167356f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.362939157550385f64,
+ 9.444670799468602f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pluto;
impl NaifId for Pluto {
@@ -234,7 +791,23 @@ impl Spheroid for Pluto {
1188.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pluto {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (2.3211657321048187f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-0.10756464180041053f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.283024379324235f64,
+ 0.9837115923543857f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[cfg(test)]
+#[allow(clippy::approx_constant)]
mod tests {
use super::*;
#[test]
@@ -252,6 +825,70 @@ mod tests {
assert_eq!(Mercury::equatorial_radius(), 2440.53f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_199() {
+ assert_eq!(
+ (
+ &[
+ 3.0506799486005773f64,
+ 6.101359897201155f64,
+ 2.868854538622146f64,
+ 5.919534488968053f64,
+ 2.6870291303890443f64
+ ] as &[f64],
+ &[
+ 2608.7878923240937f64,
+ 5217.575784648187f64,
+ 7826.363676972282f64,
+ 10435.151569296375f64,
+ 13043.939461620466f64
+ ] as &[f64]
+ ),
+ Mercury::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_199() {
+ assert_eq!(
+ (
+ 4.904554967017021f64,
+ -0.0005724679946541401f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64] as &[f64]
+ ),
+ Mercury::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_199() {
+ assert_eq!(
+ (
+ 1.0719026867585775f64,
+ -0.00008552113334772214f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64] as &[f64]
+ ),
+ Mercury::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_199() {
+ assert_eq!(
+ (
+ 5.752584270622286f64,
+ 0.10713722462923113f64,
+ 0f64,
+ &[
+ 0.0001862714861495712f64,
+ -0.000019601618296223117f64,
+ -0.00000192684349420174f64,
+ -0.00000044313909708136026f64,
+ -0.00000009965830028887623f64
+ ] as &[f64]
+ ),
+ Mercury::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_299() {
assert_eq!(Venus::id(), 299i32)
}
@@ -266,6 +903,39 @@ mod tests {
assert_eq!(Venus::equatorial_radius(), 6051.8f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_299() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Venus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_299() {
+ assert_eq!(
+ (4.760560067739733f64, 0f64, 0f64, &[] as &[f64]),
+ Venus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_299() {
+ assert_eq!(
+ (1.1721631256393916f64, 0f64, 0f64, &[] as &[f64]),
+ Venus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_299() {
+ assert_eq!(
+ (
+ 2.7960174616949156f64,
+ -0.025854762996317376f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Venus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_399() {
assert_eq!(Earth::id(), 399i32)
}
@@ -280,6 +950,75 @@ mod tests {
assert_eq!(Earth::equatorial_radius(), 6378.1366f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_399() {
+ assert_eq!(
+ (
+ &[
+ 2.1824469631563095f64,
+ 4.364876473020098f64,
+ 4.537995681525416f64,
+ 3.0826877913349846f64,
+ 6.240058221362807f64,
+ 5.438253962996612f64,
+ 2.355548718369107f64,
+ 4.827877416989155f64,
+ 0.5973563897875792f64,
+ 0.2641381289968218f64,
+ 2.0899096062155698f64,
+ 4.188109526378113f64,
+ 0.4372573375021394f64
+ ] as &[f64],
+ &[
+ -33.781483888495835f64,
+ -67.56296777699167f64,
+ 8294.909972626925f64,
+ 8504.459388212737f64,
+ 628.3019668015924f64,
+ 16833.15084472816f64,
+ 8328.69145651542f64,
+ 209.54947933396397f64,
+ 1114.6285779726247f64,
+ -101.3444516654875f64,
+ 2.301053255936537f64,
+ 104.77473966698199f64,
+ 8261.12848873843f64
+ ] as &[f64]
+ ),
+ Earth::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_399() {
+ assert_eq!(
+ (0f64, -0.011187560505283653f64, 0f64, &[] as &[f64]),
+ Earth::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_399() {
+ assert_eq!(
+ (
+ 1.5707963267948966f64,
+ -0.009721483933608416f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Earth::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_399() {
+ assert_eq!(
+ (
+ 3.3186912127896577f64,
+ 6.3003876824396166f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Earth::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_499() {
assert_eq!(Mars::id(), 499i32)
}
@@ -294,6 +1033,196 @@ mod tests {
assert_eq!(Mars::equatorial_radius(), 3396.19f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_499() {
+ assert_eq!(
+ (
+ &[
+ 3.328804809897935f64,
+ 0f64,
+ 555.6129894920322f64,
+ 5.809517398292802f64,
+ 0f64,
+ 668.125936040531f64,
+ 3.3097152567180146f64,
+ 0.22186491448462606f64,
+ 11.523153020184504f64,
+ 4.032588225058434f64,
+ 0f64,
+ 23.047098122619843f64,
+ 3.8045796985836846f64,
+ 0f64,
+ 334.05316148477937f64,
+ 3.4730520762801462f64,
+ 0f64,
+ 668.1268926511307f64,
+ 4.357448194643978f64,
+ 0f64,
+ 1336.235189496269f64,
+ 1.3857704297725961f64,
+ 0f64,
+ 334.054984682245f64,
+ 0.751510868094019f64,
+ 0f64,
+ 1002.1811764929237f64,
+ 1.3871248750853138f64,
+ 0f64,
+ 0.008801023466045386f64,
+ 2.252727410236719f64,
+ 0f64,
+ 668.130317528175f64,
+ 0.9890544553471146f64,
+ 0f64,
+ 1336.2285297823557f64,
+ 1.8289772979888115f64,
+ 0f64,
+ 0.008801023466045386f64
+ ] as &[f64],
+ &[
+ 277.80594525842264f64,
+ 0.37470342287773584f64,
+ 0f64,
+ 334.05422022489097f64,
+ 6.892873571600945f64,
+ 0f64,
+ 719340.2120445863f64,
+ 2.120032883264378f64,
+ 0f64,
+ 11.536473384554899f64,
+ 4.387288948439982f64,
+ 0f64,
+ 668.1113614443373f64,
+ 3.424288764152381f64,
+ 0f64,
+ 334.0469780000094f64,
+ 3.9495523217086292f64,
+ 0f64,
+ 1002.1807129125305f64,
+ 4.645778664015252f64,
+ 0f64,
+ 0.008801023466045386f64,
+ 2.136869016190709f64,
+ 0f64,
+ 668.1273150051017f64,
+ 1.0064158213753553f64,
+ 0f64,
+ 1336.2354112473317f64,
+ 2.9029314796567682f64,
+ 0f64,
+ 334.05659172556966f64,
+ 0.6344650043848296f64,
+ 0f64,
+ 1002.1842799588599f64,
+ 1.1757236496733376f64,
+ 0f64,
+ 1670.2877519268022f64,
+ 1.664898441223219f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Mars::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_499() {
+ assert_eq!(
+ (
+ 5.5373921900749785f64,
+ -0.001907216743164288f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000001186823891356144f64,
+ 0.000004153883619746505f64,
+ 0.0000009075712110370513f64,
+ 0.00000015707963267948966f64,
+ 0.007313924403529878f64
+ ] as &[f64]
+ ),
+ Mars::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_499() {
+ assert_eq!(
+ (
+ 0.9500266243444937f64,
+ -0.0010170216810942417f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000000890117918517108f64,
+ 0.000002460914245312005f64,
+ 0.0000005410520681182422f64,
+ 0.00000008726646259971648f64,
+ 0.02777297060138025f64
+ ] as &[f64]
+ ),
+ Mars::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_499() {
+ assert_eq!(
+ (
+ 3.0726497570349416f64,
+ 6.12422041248567f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000002530727415391778f64,
+ 0.0000027401669256310974f64,
+ 0.0000006981317007977319f64,
+ 0.000000017453292519943295f64,
+ 0.000000017453292519943295f64,
+ 0.010202182516192693f64
+ ] as &[f64]
+ ),
+ Mars::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_599() {
assert_eq!(Jupiter::id(), 599i32)
}
@@ -308,6 +1237,119 @@ mod tests {
assert_eq!(Jupiter::equatorial_radius(), 71492f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_599() {
+ assert_eq!(
+ (
+ &[
+ 1.2796754075622423f64,
+ 0.42970006184100396f64,
+ 4.9549897464119015f64,
+ 6.2098814785958245f64,
+ 2.092649773141201f64,
+ 4.010766621082969f64,
+ 6.147922290150026f64,
+ 1.9783307071355725f64,
+ 2.5593508151244846f64,
+ 0.8594001236820079f64,
+ 1.734171606432425f64,
+ 3.0699533280603655f64,
+ 5.241627996900319f64,
+ 1.9898901100379935f64,
+ 0.864134346731335f64
+ ] as &[f64],
+ &[
+ 1596.503281347521f64,
+ 787.7927551311844f64,
+ 84.66068602648895f64,
+ 20.792107379008446f64,
+ 4.574507969477138f64,
+ 1.1222467090323538f64,
+ 41.58421475801689f64,
+ 105.9414855960558f64,
+ 3193.006562695042f64,
+ 1575.5855102623689f64,
+ 84.65553032387855f64,
+ 20.80363527871787f64,
+ 4.582318317879813f64,
+ 105.94580703128374f64,
+ 1.1222467090323538f64
+ ] as &[f64]
+ ),
+ Jupiter::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_599() {
+ assert_eq!(
+ (
+ 4.6784701644349695f64,
+ -0.00011342894808711148f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0000020420352248333656f64,
+ 0.000016371188383706813f64,
+ 0.000024993114888558796f64,
+ 0.0000005235987755982989f64,
+ 0.00003752457891787809f64
+ ] as &[f64]
+ ),
+ Jupiter::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_599() {
+ assert_eq!(
+ (
+ 1.1256553894213766f64,
+ 0.00004211479485062318f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0000008726646259971648f64,
+ 0.000007051130178057092f64,
+ 0.000010768681484805013f64,
+ -0.00000022689280275926283f64,
+ 0.00001616174887346749f64
+ ] as &[f64]
+ ),
+ Jupiter::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_599() {
+ assert_eq!(
+ (
+ 4.973315703557842f64,
+ 15.193719457141356f64,
+ 0f64,
+ &[
+ 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64,
+ 0f64, 0f64
+ ] as &[f64]
+ ),
+ Jupiter::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_699() {
assert_eq!(Saturn::id(), 699i32)
}
@@ -322,6 +1364,70 @@ mod tests {
assert_eq!(Saturn::equatorial_radius(), 60268f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_699() {
+ assert_eq!(
+ (
+ &[
+ 6.166597313146365f64,
+ 0.5012585611727715f64,
+ 3.0962140930379407f64,
+ 5.235987755982989f64,
+ 5.523094417936056f64,
+ 6.0248765778844255f64,
+ 12.33319462629273f64,
+ 1.002517122345543f64
+ ] as &[f64],
+ &[
+ 1321.331180819591f64,
+ 1321.331180819591f64,
+ -637.14117008679f64,
+ -126.11574641985825f64,
+ 8.834856673595295f64,
+ -17.73778118801837f64,
+ 2642.662361639182f64,
+ 2642.662361639182f64
+ ] as &[f64]
+ ),
+ Saturn::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_699() {
+ assert_eq!(
+ (
+ 0.7084116900919784f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Saturn::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_699() {
+ assert_eq!(
+ (
+ 1.457995697238503f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Saturn::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_699() {
+ assert_eq!(
+ (
+ 0.6789330790257941f64,
+ 14.151023151973554f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Saturn::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_799() {
assert_eq!(Uranus::id(), 799i32)
}
@@ -336,6 +1442,80 @@ mod tests {
assert_eq!(Uranus::equatorial_radius(), 25559f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_799() {
+ assert_eq!(
+ (
+ &[
+ 2.0202186091834364f64,
+ 2.4729570171507653f64,
+ 2.356718088967943f64,
+ 1.0780898789568973f64,
+ 4.351454891072263f64,
+ 0.7655014099247129f64,
+ 1.3554226970987964f64,
+ 2.746450110938277f64,
+ 1.776919711455427f64,
+ 2.419724474964938f64,
+ 1.784250094313803f64,
+ 5.522396286235258f64,
+ 5.3059754589879615f64,
+ 5.388005933831694f64,
+ 5.948431156647074f64,
+ 4.522846223618106f64,
+ 3.568500188627606f64,
+ 11.044792572470516f64
+ ] as &[f64],
+ &[
+ 959.7891933286942f64,
+ 731.077582955928f64,
+ 522.3307938967249f64,
+ 449.1358738582876f64,
+ 427.10754977009157f64,
+ 388.83160660922994f64,
+ 354.1171823199879f64,
+ 290.6454915444109f64,
+ 224.66977689099764f64,
+ 140.70512817020406f64,
+ -35.32930378471962f64,
+ 49.9855316454168f64,
+ -0.9065240134858548f64,
+ -1.626123264083117f64,
+ -1.314581992602129f64,
+ -8.810596596992575f64,
+ -70.65860756943924f64,
+ 99.9710632908336f64
+ ] as &[f64]
+ ),
+ Uranus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_799() {
+ assert_eq!(
+ (4.4909241515991285f64, 0f64, 0f64, &[] as &[f64]),
+ Uranus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_799() {
+ assert_eq!(
+ (-0.2648537139901395f64, 0f64, 0f64, &[] as &[f64]),
+ Uranus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_799() {
+ assert_eq!(
+ (
+ 3.557155548489643f64,
+ -8.746893698960328f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Uranus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_899() {
assert_eq!(Neptune::id(), 899i32)
}
@@ -350,6 +1530,115 @@ mod tests {
assert_eq!(Neptune::equatorial_radius(), 24764f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_899() {
+ assert_eq!(
+ (
+ &[
+ 6.245660728261709f64,
+ 5.653470513060032f64,
+ 3.848625533572696f64,
+ 6.183177941040311f64,
+ 1.3144074596769295f64,
+ 0.6171484235051949f64,
+ 2.4890140462691135f64,
+ 3.104068074671915f64,
+ 11.306941026120064f64,
+ 6.20813614934383f64,
+ 9.312204224015744f64,
+ 12.41627229868766f64,
+ 15.520340373359575f64,
+ 18.624408448031488f64,
+ 21.728476522703406f64,
+ 24.83254459737532f64,
+ 27.936612672047236f64
+ ] as &[f64],
+ &[
+ 0.9130864514733535f64,
+ 1092.6913034790819f64,
+ 961.0515899766616f64,
+ 812.7038395448996f64,
+ 455.6949957202075f64,
+ 250.02539666519567f64,
+ 49.29857005183183f64,
+ 0.9130864514733535f64,
+ 2185.3826069581637f64,
+ 1.826172902946707f64,
+ 2.7392593544200605f64,
+ 3.652345805893414f64,
+ 4.565432257366767f64,
+ 5.478518708840121f64,
+ 6.391605160313474f64,
+ 7.304691611786828f64,
+ 8.21777806326018f64
+ ] as &[f64]
+ ),
+ Neptune::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_899() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Neptune::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_899() {
+ assert_eq!(
+ (
+ 0.7585200929167356f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Neptune::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_899() {
+ assert_eq!(
+ (
+ 4.362939157550385f64,
+ 9.444670799468602f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Neptune::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_999() {
assert_eq!(Pluto::id(), 999i32)
}
@@ -363,4 +1652,37 @@ mod tests {
assert_eq!(Pluto::mean_radius(), 1188.3f64);
assert_eq!(Pluto::equatorial_radius(), 1188.3f64);
}
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_999() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pluto::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_999() {
+ assert_eq!(
+ (2.3211657321048187f64, 0f64, 0f64, &[] as &[f64]),
+ Pluto::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_999() {
+ assert_eq!(
+ (-0.10756464180041053f64, 0f64, 0f64, &[] as &[f64]),
+ Pluto::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_999() {
+ assert_eq!(
+ (
+ 5.283024379324235f64,
+ 0.9837115923543857f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pluto::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
}
diff --git a/crates/lox_core/src/bodies/satellites.rs b/crates/lox_core/src/bodies/satellites.rs
index 289432cd..9c8ae3b4 100644
--- a/crates/lox_core/src/bodies/satellites.rs
+++ b/crates/lox_core/src/bodies/satellites.rs
@@ -8,7 +8,10 @@
// Auto-generated by `lox_gen`. Do not edit!
-use super::{Ellipsoid, NaifId, PointMass, TriAxial};
+use super::{
+ Ellipsoid, NaifId, NutationPrecessionCoefficients, PointMass, PolynomialCoefficients,
+ RotationalElements, TriAxial,
+};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Moon;
impl NaifId for Moon {
@@ -37,6 +40,71 @@ impl TriAxial for Moon {
1737.4f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Moon {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.712299968592838f64,
+ 0.000054105206811824215f64,
+ 0f64,
+ &[
+ -0.06769608569710406f64,
+ -0.0021013764194011725f64,
+ 0.0012217304763960308f64,
+ -0.0003001966313430247f64,
+ 0f64,
+ 0.0001256637061435917f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00009075712110370513f64,
+ 0f64,
+ 0f64,
+ 0.00007504915783575618f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.161328121643011f64,
+ 0.00022689280275926284f64,
+ 0f64,
+ &[
+ 0.02691123173650057f64,
+ 0.0004171336912266448f64,
+ -0.00048520153205442357f64,
+ 0.0001186823891356144f64,
+ 0f64,
+ -0.00005061454830783555f64,
+ 0.000015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0.000013962634015954637f64,
+ 0f64,
+ 0f64,
+ -0.000015707963267948964f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.668832858644503f64,
+ 0.22997083313948888f64,
+ -0.000000000000024434609527920614f64,
+ &[
+ 0.06215117466351808f64,
+ 0.00210835773640915f64,
+ -0.0011205013797803594f64,
+ 0.0002757620218151041f64,
+ 0.0004398229715025711f64,
+ -0.00011519173063162575f64,
+ -0.00008203047484373349f64,
+ -0.00008028514559173915f64,
+ 0.000048869219055841225f64,
+ 0.00009075712110370513f64,
+ 0.00006981317007977319f64,
+ 0.00003316125578789226f64,
+ -0.0000767944870877505f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Phobos;
impl NaifId for Phobos {
@@ -65,6 +133,45 @@ impl TriAxial for Phobos {
11.4f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Phobos {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.544399941316208f64,
+ -0.001892691938596266f64,
+ 0f64,
+ &[
+ -0.031141630416121578f64,
+ 0.00038621064567151f64,
+ -0.00017946365486924213f64,
+ -0.00008300698656022431f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.9230395870244597f64,
+ -0.0010707081834185127f64,
+ 0f64,
+ &[
+ -0.018765175709923063f64,
+ 0.00011669725164439606f64,
+ -0.00011322648989388013f64,
+ 0.000049144282945955534f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.6141419961301966f64,
+ 19.702057793318815f64,
+ 0.00000000016643698911600935f64,
+ &[
+ 0.02485728795564792f64,
+ -0.0003968499982587423f64,
+ 0.0000716825922415843f64,
+ 0.00011029852554073445f64,
+ -0.019949113350295186f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Deimos;
impl NaifId for Deimos {
@@ -93,6 +200,62 @@ impl TriAxial for Deimos {
6f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Deimos {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.526708263174914f64,
+ -0.0018357397507085887f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.05396867424229676f64,
+ 0.004010877798556321f64,
+ 0.0011202666329959662f64,
+ 0.00044218562371099577f64,
+ 0.00013590791618817245f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.9339242922383507f64,
+ -0.0010435487658623783f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.032102888827614605f64,
+ 0.002500240004017941f64,
+ 0.00033360380402252296f64,
+ -0.0002587607695714273f64,
+ 0.00003358537079612689f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.3857797243489947f64,
+ 4.977013864082068f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.047814137677880446f64,
+ -0.006975837721323607f64,
+ -0.0011455047921115052f64,
+ -0.0005084039391304362f64,
+ 0.0002965593651818685f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Io;
impl NaifId for Io {
@@ -121,6 +284,44 @@ impl TriAxial for Io {
1819.4f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Io {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.0016406094968746698f64,
+ 0.0004188790204786391f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.1257373675363425f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ 0.00019198621771937625f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.4974652880714365f64,
+ 3.551552235248627f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.0014835298641951802f64,
+ -0.0003839724354387525f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Europa;
impl NaifId for Europa {
@@ -149,6 +350,53 @@ impl TriAxial for Europa {
1560.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Europa {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.678878658746398f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.01895427567665842f64,
+ 0.0010471975511965976f64,
+ 0.0002617993877991494f64,
+ 0.00015707963267948965f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.125911900461542f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.008168140899333463f64,
+ 0.0004537856055185257f64,
+ 0.00012217304763960306f64,
+ 0.00003490658503988659f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.6287025031533974f64,
+ 1.7693227033738699f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.01710422666954443f64,
+ -0.0009424777960769379f64,
+ -0.0002443460952792061f64,
+ -0.00013962634015954637f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ganymede;
impl NaifId for Ganymede {
@@ -177,6 +425,50 @@ impl TriAxial for Ganymede {
2631.2f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ganymede {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.680973053848792f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006457718232379018f64,
+ 0.0075223690760955605f64,
+ 0.0015882496193148398f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.1269590980127384f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00027925268031909274f64,
+ 0.003246312408709453f64,
+ 0.0006806784082777885f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7690618815987814f64,
+ 0.8782079330731682f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0005759586531581288f64,
+ -0.006789330790257942f64,
+ -0.0014311699866353504f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Callisto;
impl NaifId for Callisto {
@@ -205,6 +497,56 @@ impl TriAxial for Callisto {
2410.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Callisto {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.690048765959163f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.001186823891356144f64,
+ 0.010297442586766544f64,
+ 0f64,
+ 0.00017453292519943296f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.1314969540679238f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0005061454830783556f64,
+ 0.004433136300065597f64,
+ 0f64,
+ -0.00006981317007977319f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.529303941850484f64,
+ 0.37648622085811195f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.001064650843716541f64,
+ -0.009302604913129777f64,
+ 0f64,
+ -0.00015707963267948965f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Amalthea;
impl NaifId for Amalthea {
@@ -233,6 +575,62 @@ impl TriAxial for Amalthea {
73f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Amalthea {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ -0.014660765716752368f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.00017453292519943296f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ -0.006283185307179586f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.043404278095263f64,
+ 12.612298185680531f64,
+ 0f64,
+ &[
+ 0.013264502315156905f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00017453292519943296f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Himalia;
impl NaifId for Himalia {
@@ -261,6 +659,14 @@ impl TriAxial for Himalia {
85f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Himalia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Elara;
impl NaifId for Elara {
@@ -284,6 +690,14 @@ impl TriAxial for Elara {
40f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Elara {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pasiphae;
impl NaifId for Pasiphae {
@@ -307,6 +721,14 @@ impl TriAxial for Pasiphae {
18f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pasiphae {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Sinope;
impl NaifId for Sinope {
@@ -330,6 +752,14 @@ impl TriAxial for Sinope {
14f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Sinope {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Lysithea;
impl NaifId for Lysithea {
@@ -353,6 +783,14 @@ impl TriAxial for Lysithea {
12f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Lysithea {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Carme;
impl NaifId for Carme {
@@ -376,6 +814,14 @@ impl TriAxial for Carme {
15f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Carme {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ananke;
impl NaifId for Ananke {
@@ -399,6 +845,14 @@ impl TriAxial for Ananke {
10f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ananke {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Leda;
impl NaifId for Leda {
@@ -422,6 +876,14 @@ impl TriAxial for Leda {
5f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Leda {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Thebe;
impl NaifId for Thebe {
@@ -450,6 +912,62 @@ impl TriAxial for Thebe {
49f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Thebe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.03682644721708035f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.0158824961931484f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.00017453292519943296f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.1494001839707146f64,
+ 9.31482937374367f64,
+ 0f64,
+ &[
+ 0f64,
+ 0.033335788713091695f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Adrastea;
impl NaifId for Adrastea {
@@ -478,6 +996,29 @@ impl TriAxial for Adrastea {
8f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Adrastea {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.5810201079889122f64,
+ 21.066100687650238f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Metis;
impl NaifId for Metis {
@@ -506,6 +1047,29 @@ impl TriAxial for Metis {
20f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Metis {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 6.040410008227175f64,
+ 21.3149160457997f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Callirrhoe;
impl NaifId for Callirrhoe {
@@ -513,6 +1077,14 @@ impl NaifId for Callirrhoe {
517i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Callirrhoe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Themisto;
impl NaifId for Themisto {
@@ -520,6 +1092,14 @@ impl NaifId for Themisto {
518i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Themisto {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Magaclite;
impl NaifId for Magaclite {
@@ -527,6 +1107,14 @@ impl NaifId for Magaclite {
519i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Magaclite {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Taygete;
impl NaifId for Taygete {
@@ -534,6 +1122,14 @@ impl NaifId for Taygete {
520i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Taygete {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Chaldene;
impl NaifId for Chaldene {
@@ -541,6 +1137,14 @@ impl NaifId for Chaldene {
521i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Chaldene {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Harpalyke;
impl NaifId for Harpalyke {
@@ -548,6 +1152,14 @@ impl NaifId for Harpalyke {
522i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Harpalyke {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kalyke;
impl NaifId for Kalyke {
@@ -555,6 +1167,14 @@ impl NaifId for Kalyke {
523i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kalyke {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Iocaste;
impl NaifId for Iocaste {
@@ -562,6 +1182,14 @@ impl NaifId for Iocaste {
524i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Iocaste {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Erinome;
impl NaifId for Erinome {
@@ -569,6 +1197,14 @@ impl NaifId for Erinome {
525i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Erinome {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Isonoe;
impl NaifId for Isonoe {
@@ -576,6 +1212,14 @@ impl NaifId for Isonoe {
526i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Isonoe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Praxidike;
impl NaifId for Praxidike {
@@ -583,6 +1227,14 @@ impl NaifId for Praxidike {
527i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Praxidike {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Autonoe;
impl NaifId for Autonoe {
@@ -590,6 +1242,14 @@ impl NaifId for Autonoe {
528i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Autonoe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Thyone;
impl NaifId for Thyone {
@@ -597,6 +1257,14 @@ impl NaifId for Thyone {
529i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Thyone {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Hermippe;
impl NaifId for Hermippe {
@@ -604,6 +1272,14 @@ impl NaifId for Hermippe {
530i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Hermippe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Aitne;
impl NaifId for Aitne {
@@ -611,6 +1287,14 @@ impl NaifId for Aitne {
531i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Aitne {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Eurydome;
impl NaifId for Eurydome {
@@ -618,6 +1302,14 @@ impl NaifId for Eurydome {
532i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Eurydome {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Euanthe;
impl NaifId for Euanthe {
@@ -625,6 +1317,14 @@ impl NaifId for Euanthe {
533i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Euanthe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Euporie;
impl NaifId for Euporie {
@@ -632,6 +1332,14 @@ impl NaifId for Euporie {
534i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Euporie {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Orthosie;
impl NaifId for Orthosie {
@@ -639,6 +1347,14 @@ impl NaifId for Orthosie {
535i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Orthosie {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Sponde;
impl NaifId for Sponde {
@@ -646,6 +1362,14 @@ impl NaifId for Sponde {
536i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Sponde {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kale;
impl NaifId for Kale {
@@ -653,6 +1377,14 @@ impl NaifId for Kale {
537i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kale {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pasithee;
impl NaifId for Pasithee {
@@ -660,6 +1392,14 @@ impl NaifId for Pasithee {
538i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pasithee {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Hegemone;
impl NaifId for Hegemone {
@@ -667,6 +1407,14 @@ impl NaifId for Hegemone {
539i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Hegemone {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mneme;
impl NaifId for Mneme {
@@ -674,6 +1422,14 @@ impl NaifId for Mneme {
540i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mneme {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Aoede;
impl NaifId for Aoede {
@@ -681,6 +1437,14 @@ impl NaifId for Aoede {
541i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Aoede {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Thelxinoe;
impl NaifId for Thelxinoe {
@@ -688,6 +1452,14 @@ impl NaifId for Thelxinoe {
542i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Thelxinoe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Arche;
impl NaifId for Arche {
@@ -695,6 +1467,14 @@ impl NaifId for Arche {
543i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Arche {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kallichore;
impl NaifId for Kallichore {
@@ -702,6 +1482,14 @@ impl NaifId for Kallichore {
544i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kallichore {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Helike;
impl NaifId for Helike {
@@ -709,6 +1497,14 @@ impl NaifId for Helike {
545i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Helike {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Carpo;
impl NaifId for Carpo {
@@ -716,6 +1512,14 @@ impl NaifId for Carpo {
546i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Carpo {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Eukelade;
impl NaifId for Eukelade {
@@ -723,6 +1527,14 @@ impl NaifId for Eukelade {
547i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Eukelade {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Cyllene;
impl NaifId for Cyllene {
@@ -730,6 +1542,14 @@ impl NaifId for Cyllene {
548i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Cyllene {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kore;
impl NaifId for Kore {
@@ -737,6 +1557,14 @@ impl NaifId for Kore {
549i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kore {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Herse;
impl NaifId for Herse {
@@ -744,6 +1572,14 @@ impl NaifId for Herse {
550i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Herse {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Dia;
impl NaifId for Dia {
@@ -751,6 +1587,14 @@ impl NaifId for Dia {
553i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Dia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mimas;
impl NaifId for Mimas {
@@ -779,6 +1623,56 @@ impl TriAxial for Mimas {
196.7f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mimas {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.2366666465704311f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.026703537555513242f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.819974923700291f64,
+ 6.667062709440567f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.23527038316883564f64,
+ 0f64,
+ -0.7827801695194568f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Enceladus;
impl NaifId for Enceladus {
@@ -807,6 +1701,29 @@ impl TriAxial for Enceladus {
251.4f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Enceladus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.11030480872604163f64,
+ 4.585536698039173f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Tethys;
impl NaifId for Tethys {
@@ -835,6 +1752,56 @@ impl TriAxial for Tethys {
528.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Tethys {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.16859880574265224f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.019024088846738195f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.1562069680534925f64,
+ 3.328306379991881f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.16755160819145562f64,
+ 0.03892084231947355f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Dione;
impl NaifId for Dione {
@@ -863,6 +1830,29 @@ impl TriAxial for Dione {
561.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Dione {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 6.241297405131723f64,
+ 2.295717637805533f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Rhea;
impl NaifId for Rhea {
@@ -891,6 +1881,56 @@ impl TriAxial for Rhea {
763.1f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Rhea {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7047639519553103f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.054105206811824215f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4582225900412622f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.006108652381980153f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.104316268989865f64,
+ 1.3908537151816638f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.05375614096142535f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Titan;
impl NaifId for Titan {
@@ -919,6 +1959,29 @@ impl TriAxial for Titan {
2574.78f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Titan {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.6891031125771652f64,
+ 0f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.456091543024577f64,
+ 0f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.2565313114798795f64,
+ 0.39404258030637335f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Hyperion;
impl NaifId for Hyperion {
@@ -947,6 +2010,14 @@ impl TriAxial for Hyperion {
133f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Hyperion {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Iapetus;
impl NaifId for Iapetus {
@@ -975,6 +2046,29 @@ impl TriAxial for Iapetus {
745.7f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Iapetus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.552939548145159f64,
+ -0.06892305216125608f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.3095205377713455f64,
+ -0.019949113350295186f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 6.199409503083858f64,
+ 0.07920229445458282f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Phoebe;
impl NaifId for Phoebe {
@@ -1003,6 +2097,21 @@ impl TriAxial for Phoebe {
108.5f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Phoebe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (6.229080100367762f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (1.3578661580515883f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.116808978211474f64,
+ 16.26016798998745f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Janus;
impl NaifId for Janus {
@@ -1031,6 +2140,56 @@ impl TriAxial for Janus {
93f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Janus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.028326693759867967f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0004014257279586958f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.003193952531149623f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000017453292519943296f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.0267771989482641f64,
+ 9.044924285944507f64,
+ 0f64,
+ &[
+ 0f64,
+ 0.028152160834668535f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0004014257279586958f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Epimetheus;
impl NaifId for Epimetheus {
@@ -1059,6 +2218,56 @@ impl TriAxial for Epimetheus {
57.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Epimetheus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ -0.05503023131538121f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0015009831567151233f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ -0.006213372137099813f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.00008726646259971648f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.128999072835736f64,
+ 9.049370273103856f64,
+ 0f64,
+ &[
+ 0.05468116546498235f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015009831567151233f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Helene;
impl NaifId for Helene {
@@ -1087,6 +2296,29 @@ impl TriAxial for Helene {
19.6f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Helene {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7129669994396837f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4545573986120743f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.278151062488501f64,
+ 2.297157080652823f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Telesto;
impl NaifId for Telesto {
@@ -1110,6 +2342,29 @@ impl TriAxial for Telesto {
11.8f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Telesto {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.8815658051823358f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4671237692264334f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.9927432785343747f64,
+ 3.328306811088206f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Calypso;
impl NaifId for Calypso {
@@ -1133,6 +2388,29 @@ impl TriAxial for Calypso {
9.3f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Calypso {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.6354743806511354f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4842279958959779f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.679254934736495f64,
+ 3.327893239613983f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Atlas;
impl NaifId for Atlas {
@@ -1161,6 +2439,29 @@ impl TriAxial for Atlas {
17.8f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Atlas {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4578735241908636f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.4064599726497815f64,
+ 10.442409634437194f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Prometheus;
impl NaifId for Prometheus {
@@ -1189,6 +2490,29 @@ impl TriAxial for Prometheus {
41.6f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Prometheus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4578735241908636f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.1686180468560075f64,
+ 10.250126710744977f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pandora;
impl NaifId for Pandora {
@@ -1217,6 +2541,29 @@ impl TriAxial for Pandora {
40.8f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pandora {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4578735241908636f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.8434904173491615f64,
+ 9.997055714535051f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pan;
impl NaifId for Pan {
@@ -1240,6 +2587,29 @@ impl TriAxial for Pan {
15.4f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pan {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7086036763096978f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 1.457349925415265f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.8517206749732328f64,
+ 10.92652906235538f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ymir;
impl NaifId for Ymir {
@@ -1247,6 +2617,14 @@ impl NaifId for Ymir {
619i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ymir {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Paaliaq;
impl NaifId for Paaliaq {
@@ -1254,6 +2632,14 @@ impl NaifId for Paaliaq {
620i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Paaliaq {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Tarvos;
impl NaifId for Tarvos {
@@ -1261,6 +2647,14 @@ impl NaifId for Tarvos {
621i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Tarvos {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ijiraq;
impl NaifId for Ijiraq {
@@ -1268,6 +2662,14 @@ impl NaifId for Ijiraq {
622i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ijiraq {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Suttungr;
impl NaifId for Suttungr {
@@ -1275,6 +2677,14 @@ impl NaifId for Suttungr {
623i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Suttungr {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kiviuq;
impl NaifId for Kiviuq {
@@ -1282,6 +2692,14 @@ impl NaifId for Kiviuq {
624i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kiviuq {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mundilfari;
impl NaifId for Mundilfari {
@@ -1289,6 +2707,14 @@ impl NaifId for Mundilfari {
625i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mundilfari {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Albiorix;
impl NaifId for Albiorix {
@@ -1296,6 +2722,14 @@ impl NaifId for Albiorix {
626i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Albiorix {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Skathi;
impl NaifId for Skathi {
@@ -1303,6 +2737,14 @@ impl NaifId for Skathi {
627i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Skathi {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Erriapus;
impl NaifId for Erriapus {
@@ -1310,6 +2752,14 @@ impl NaifId for Erriapus {
628i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Erriapus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Siarnaq;
impl NaifId for Siarnaq {
@@ -1317,6 +2767,14 @@ impl NaifId for Siarnaq {
629i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Siarnaq {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Thrymr;
impl NaifId for Thrymr {
@@ -1324,6 +2782,14 @@ impl NaifId for Thrymr {
630i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Thrymr {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Narvi;
impl NaifId for Narvi {
@@ -1331,6 +2797,14 @@ impl NaifId for Narvi {
631i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Narvi {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Methone;
impl NaifId for Methone {
@@ -1354,6 +2828,14 @@ impl TriAxial for Methone {
1.29f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Methone {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Pallene;
impl NaifId for Pallene {
@@ -1377,6 +2859,14 @@ impl TriAxial for Pallene {
2.08f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Pallene {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Polydeuces;
impl NaifId for Polydeuces {
@@ -1400,6 +2890,14 @@ impl TriAxial for Polydeuces {
1.2f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Polydeuces {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Daphnis;
impl NaifId for Daphnis {
@@ -1423,6 +2921,14 @@ impl TriAxial for Daphnis {
4.5f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Daphnis {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Aegir;
impl NaifId for Aegir {
@@ -1430,6 +2936,14 @@ impl NaifId for Aegir {
636i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Aegir {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Bebhionn;
impl NaifId for Bebhionn {
@@ -1437,6 +2951,14 @@ impl NaifId for Bebhionn {
637i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Bebhionn {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Bergelmir;
impl NaifId for Bergelmir {
@@ -1444,6 +2966,14 @@ impl NaifId for Bergelmir {
638i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Bergelmir {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Bestla;
impl NaifId for Bestla {
@@ -1451,6 +2981,14 @@ impl NaifId for Bestla {
639i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Bestla {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Farbauti;
impl NaifId for Farbauti {
@@ -1458,6 +2996,14 @@ impl NaifId for Farbauti {
640i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Farbauti {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Fenrir;
impl NaifId for Fenrir {
@@ -1465,6 +3011,14 @@ impl NaifId for Fenrir {
641i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Fenrir {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Fornjot;
impl NaifId for Fornjot {
@@ -1472,6 +3026,14 @@ impl NaifId for Fornjot {
642i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Fornjot {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Hati;
impl NaifId for Hati {
@@ -1479,6 +3041,14 @@ impl NaifId for Hati {
643i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Hati {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Hyrrokkin;
impl NaifId for Hyrrokkin {
@@ -1486,6 +3056,14 @@ impl NaifId for Hyrrokkin {
644i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Hyrrokkin {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kari;
impl NaifId for Kari {
@@ -1493,6 +3071,14 @@ impl NaifId for Kari {
645i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kari {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Loge;
impl NaifId for Loge {
@@ -1500,6 +3086,14 @@ impl NaifId for Loge {
646i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Loge {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Skoll;
impl NaifId for Skoll {
@@ -1507,6 +3101,14 @@ impl NaifId for Skoll {
647i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Skoll {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Surtur;
impl NaifId for Surtur {
@@ -1514,6 +3116,14 @@ impl NaifId for Surtur {
648i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Surtur {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Anthe;
impl NaifId for Anthe {
@@ -1537,6 +3147,14 @@ impl TriAxial for Anthe {
0.5f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Anthe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Jarnsaxa;
impl NaifId for Jarnsaxa {
@@ -1544,6 +3162,14 @@ impl NaifId for Jarnsaxa {
650i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Jarnsaxa {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Greip;
impl NaifId for Greip {
@@ -1551,6 +3177,14 @@ impl NaifId for Greip {
651i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Greip {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Tarqeq;
impl NaifId for Tarqeq {
@@ -1558,6 +3192,14 @@ impl NaifId for Tarqeq {
652i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Tarqeq {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Aegaeon;
impl NaifId for Aegaeon {
@@ -1581,6 +3223,14 @@ impl TriAxial for Aegaeon {
0.25f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Aegaeon {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ariel;
impl NaifId for Ariel {
@@ -1609,6 +3259,71 @@ impl TriAxial for Ariel {
577.9f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ariel {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.005061454830783556f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004886921905584123f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.7265533574655416f64,
+ -2.492952697630833f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0008726646259971648f64,
+ 0.0013962634015954637f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Umbriel;
impl NaifId for Umbriel {
@@ -1637,6 +3352,74 @@ impl TriAxial for Umbriel {
584.7f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Umbriel {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.003665191429188092f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.003490658503988659f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.885828256779873f64,
+ -1.5161481881953498f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0.0010471975511965976f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Titania;
impl NaifId for Titania {
@@ -1665,6 +3448,77 @@ impl TriAxial for Titania {
788.9f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Titania {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.005061454830783556f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004886921905584123f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.3568189605003917f64,
+ -0.7217186318332268f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0013962634015954637f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Oberon;
impl NaifId for Oberon {
@@ -1693,6 +3547,80 @@ impl TriAxial for Oberon {
761.4f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Oberon {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.1181587903600161f64,
+ -0.4666921966546346f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Miranda;
impl NaifId for Miranda {
@@ -1721,6 +3649,86 @@ impl TriAxial for Miranda {
234.2f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Miranda {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.07696902001294993f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2631956512007449f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.07417649320975901f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00034906585039886593f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.5358160803622591f64,
+ -4.445191100713563f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.02007128639793479f64,
+ -0.022165681500327987f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0.002617993877991494f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Cordelia;
impl NaifId for Cordelia {
@@ -1744,6 +3752,86 @@ impl TriAxial for Cordelia {
13f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Cordelia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.002617993877991494f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.0024434609527920616f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.2286109218715593f64,
+ -18.753921879266084f64,
+ 0f64,
+ &[
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ophelia;
impl NaifId for Ophelia {
@@ -1767,6 +3855,86 @@ impl TriAxial for Ophelia {
15f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ophelia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.2750366799746087f64,
+ -16.692447910262292f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.0005235987755982988f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Bianca;
impl NaifId for Bianca {
@@ -1790,6 +3958,86 @@ impl TriAxial for Bianca {
21f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Bianca {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.0027925268031909274f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.8406242291532198f64,
+ -14.458158751655587f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Cressida;
impl NaifId for Cressida {
@@ -1813,6 +4061,86 @@ impl TriAxial for Cressida {
31f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Cressida {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.0325367854798453f64,
+ -13.553906388910956f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00017453292519943296f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Desdemona;
impl NaifId for Desdemona {
@@ -1836,6 +4164,86 @@ impl TriAxial for Desdemona {
27f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Desdemona {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0029670597283903604f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.6594590527962085f64,
+ -13.265430289266899f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Juliet;
impl NaifId for Juliet {
@@ -1859,6 +4267,86 @@ impl TriAxial for Juliet {
42f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Juliet {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0010471975511965976f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0010471975511965976f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.2806681848340435f64,
+ -12.74309158902866f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00034906585039886593f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Portia;
impl NaifId for Portia {
@@ -1882,6 +4370,86 @@ impl TriAxial for Portia {
54f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Portia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 0.4368559117741807f64,
+ -12.243250601727652f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00034906585039886593f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Rosalind;
impl NaifId for Rosalind {
@@ -1905,6 +4473,86 @@ impl TriAxial for Rosalind {
27f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Rosalind {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.005061454830783556f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004886921905584123f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.496041814530144f64,
+ -11.250935609538423f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0013962634015954637f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Belinda;
impl NaifId for Belinda {
@@ -1928,6 +4576,86 @@ impl TriAxial for Belinda {
33f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Belinda {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0005235987755982988f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0005235987755982988f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.191656392982332f64,
+ -10.076882135239488f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00017453292519943296f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Puck;
impl NaifId for Puck {
@@ -1951,6 +4679,86 @@ impl TriAxial for Puck {
77f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Puck {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.005759586531581287f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0054105206811824215f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.5924384095196262f64,
+ -8.247467318113788f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Caliban;
impl NaifId for Caliban {
@@ -1958,6 +4766,14 @@ impl NaifId for Caliban {
716i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Caliban {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Sycorax;
impl NaifId for Sycorax {
@@ -1965,6 +4781,14 @@ impl NaifId for Sycorax {
717i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Sycorax {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Prospero;
impl NaifId for Prospero {
@@ -1972,6 +4796,14 @@ impl NaifId for Prospero {
718i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Prospero {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Setebos;
impl NaifId for Setebos {
@@ -1979,6 +4811,14 @@ impl NaifId for Setebos {
719i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Setebos {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Stephano;
impl NaifId for Stephano {
@@ -1986,6 +4826,14 @@ impl NaifId for Stephano {
720i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Stephano {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Trinculo;
impl NaifId for Trinculo {
@@ -1993,6 +4841,14 @@ impl NaifId for Trinculo {
721i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Trinculo {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Francisco;
impl NaifId for Francisco {
@@ -2000,6 +4856,14 @@ impl NaifId for Francisco {
722i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Francisco {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Margaret;
impl NaifId for Margaret {
@@ -2007,6 +4871,14 @@ impl NaifId for Margaret {
723i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Margaret {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Ferdinand;
impl NaifId for Ferdinand {
@@ -2014,6 +4886,14 @@ impl NaifId for Ferdinand {
724i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Ferdinand {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Perdita;
impl NaifId for Perdita {
@@ -2021,6 +4901,14 @@ impl NaifId for Perdita {
725i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Perdita {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Mab;
impl NaifId for Mab {
@@ -2028,6 +4916,14 @@ impl NaifId for Mab {
726i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Mab {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Cupid;
impl NaifId for Cupid {
@@ -2035,6 +4931,14 @@ impl NaifId for Cupid {
727i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Cupid {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Triton;
impl NaifId for Triton {
@@ -2063,6 +4967,83 @@ impl TriAxial for Triton {
1352.6f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Triton {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.5646140130201657f64,
+ 0f64,
+ -0.1096066770252439f64,
+ -0.03630284844148206f64,
+ -0.012915436464758038f64,
+ -0.004886921905584123f64,
+ -0.0019198621771937625f64,
+ -0.0012217304763960308f64,
+ -0.00034906585039886593f64,
+ -0.00017453292519943296f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7185520530460655f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.3935717463247213f64,
+ 0f64,
+ 0.03665191429188092f64,
+ 0.009599310885968814f64,
+ 0.0027925268031909274f64,
+ 0.0008726646259971648f64,
+ 0.00034906585039886593f64,
+ 0.00017453292519943296f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.175424830938785f64,
+ -1.069140942327404f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.3883357585687383f64,
+ 0f64,
+ 0.11746065865921838f64,
+ 0.03577924966588375f64,
+ 0.012915436464758038f64,
+ 0.004886921905584123f64,
+ 0.0019198621771937625f64,
+ 0.0008726646259971648f64,
+ 0.00034906585039886593f64,
+ 0.00017453292519943296f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Nereid;
impl NaifId for Nereid {
@@ -2086,6 +5067,14 @@ impl TriAxial for Nereid {
170f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Nereid {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Naiad;
impl NaifId for Naiad {
@@ -2114,6 +5103,83 @@ impl TriAxial for Naiad {
29f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Naiad {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ -0.11327186845443199f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004363323129985824f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7567747636647413f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ -0.08290313946973066f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.434183497616794f64,
+ 21.342656148360604f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0.07679448708775051f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00471238898038469f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Thalassa;
impl NaifId for Thalassa {
@@ -2142,6 +5208,83 @@ impl TriAxial for Thalassa {
40f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Thalassa {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ -0.004886921905584123f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7583455599915362f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ -0.003665191429188092f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.7812830345854127f64,
+ 20.171739891174827f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0.0033161255787892262f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Despina;
impl NaifId for Despina {
@@ -2170,6 +5313,83 @@ impl TriAxial for Despina {
74f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Despina {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7583455599915362f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ -0.0012217304763960308f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 5.34960869028782f64,
+ 18.77510290185297f64,
+ 0f64,
+ &[
+ -0.008552113334772215f64,
+ 0f64,
+ 0f64,
+ 0.0010471975511965976f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Galatea;
impl NaifId for Galatea {
@@ -2198,6 +5418,83 @@ impl TriAxial for Galatea {
79f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Galatea {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0012217304763960308f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7579964941411373f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0008726646259971648f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 4.504520266472165f64,
+ 14.6548275586037f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0008726646259971648f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Larissa;
impl NaifId for Larissa {
@@ -2226,6 +5523,83 @@ impl TriAxial for Larissa {
96f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Larissa {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00471238898038469f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7576474282907384f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.003490658503988659f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 3.1312952110030268f64,
+ 11.328119671568512f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0033161255787892262f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Proteus;
impl NaifId for Proteus {
@@ -2254,6 +5628,83 @@ impl TriAxial for Proteus {
208f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Proteus {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
+ 5.22324685244343f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0008726646259971648f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (
+ 0.7489207820307667f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.6297884555123048f64,
+ 5.598412754411688f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ ] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Halimede;
impl NaifId for Halimede {
@@ -2261,6 +5712,14 @@ impl NaifId for Halimede {
809i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Halimede {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Psamathe;
impl NaifId for Psamathe {
@@ -2268,6 +5727,14 @@ impl NaifId for Psamathe {
810i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Psamathe {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Sao;
impl NaifId for Sao {
@@ -2275,6 +5742,14 @@ impl NaifId for Sao {
811i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Sao {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Laomedeia;
impl NaifId for Laomedeia {
@@ -2282,6 +5757,14 @@ impl NaifId for Laomedeia {
812i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Laomedeia {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Neso;
impl NaifId for Neso {
@@ -2289,6 +5772,14 @@ impl NaifId for Neso {
813i32
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Neso {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Charon;
impl NaifId for Charon {
@@ -2317,6 +5808,21 @@ impl TriAxial for Charon {
606f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Charon {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (2.3211657321048187f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (-0.10756464180041053f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 2.1414317257344426f64,
+ 0.9837115923543857f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Nix;
impl NaifId for Nix {
@@ -2329,6 +5835,14 @@ impl PointMass for Nix {
0.00304817564816976f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Nix {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Hydra;
impl NaifId for Hydra {
@@ -2341,6 +5855,14 @@ impl PointMass for Hydra {
0.003211039206155255f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Hydra {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Kerberos;
impl NaifId for Kerberos {
@@ -2353,6 +5875,14 @@ impl PointMass for Kerberos {
0.001110040850536676f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Kerberos {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Styx;
impl NaifId for Styx {
@@ -2365,7 +5895,16 @@ impl PointMass for Styx {
0f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Styx {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (0f64, 0f64, 0f64, &[] as &[f64]);
+}
#[cfg(test)]
+#[allow(clippy::approx_constant)]
mod tests {
use super::*;
#[test]
@@ -2384,6 +5923,91 @@ mod tests {
assert_eq!(Moon::along_orbit_radius(), 1737.4f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_301() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Moon::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_301() {
+ assert_eq!(
+ (
+ 4.712299968592838f64,
+ 0.000054105206811824215f64,
+ 0f64,
+ &[
+ -0.06769608569710406f64,
+ -0.0021013764194011725f64,
+ 0.0012217304763960308f64,
+ -0.0003001966313430247f64,
+ 0f64,
+ 0.0001256637061435917f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00009075712110370513f64,
+ 0f64,
+ 0f64,
+ 0.00007504915783575618f64
+ ] as &[f64]
+ ),
+ Moon::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_301() {
+ assert_eq!(
+ (
+ 1.161328121643011f64,
+ 0.00022689280275926284f64,
+ 0f64,
+ &[
+ 0.02691123173650057f64,
+ 0.0004171336912266448f64,
+ -0.00048520153205442357f64,
+ 0.0001186823891356144f64,
+ 0f64,
+ -0.00005061454830783555f64,
+ 0.000015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0.000013962634015954637f64,
+ 0f64,
+ 0f64,
+ -0.000015707963267948964f64
+ ] as &[f64]
+ ),
+ Moon::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_301() {
+ assert_eq!(
+ (
+ 0.668832858644503f64,
+ 0.22997083313948888f64,
+ -0.000000000000024434609527920614f64,
+ &[
+ 0.06215117466351808f64,
+ 0.00210835773640915f64,
+ -0.0011205013797803594f64,
+ 0.0002757620218151041f64,
+ 0.0004398229715025711f64,
+ -0.00011519173063162575f64,
+ -0.00008203047484373349f64,
+ -0.00008028514559173915f64,
+ 0.000048869219055841225f64,
+ 0.00009075712110370513f64,
+ 0.00006981317007977319f64,
+ 0.00003316125578789226f64,
+ -0.0000767944870877505f64
+ ] as &[f64]
+ ),
+ Moon::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_401() {
assert_eq!(Phobos::id(), 401i32)
}
@@ -2399,6 +6023,65 @@ mod tests {
assert_eq!(Phobos::along_orbit_radius(), 11.4f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_401() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Phobos::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_401() {
+ assert_eq!(
+ (
+ 5.544399941316208f64,
+ -0.001892691938596266f64,
+ 0f64,
+ &[
+ -0.031141630416121578f64,
+ 0.00038621064567151f64,
+ -0.00017946365486924213f64,
+ -0.00008300698656022431f64
+ ] as &[f64]
+ ),
+ Phobos::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_401() {
+ assert_eq!(
+ (
+ 0.9230395870244597f64,
+ -0.0010707081834185127f64,
+ 0f64,
+ &[
+ -0.018765175709923063f64,
+ 0.00011669725164439606f64,
+ -0.00011322648989388013f64,
+ 0.000049144282945955534f64
+ ] as &[f64]
+ ),
+ Phobos::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_401() {
+ assert_eq!(
+ (
+ 0.6141419961301966f64,
+ 19.702057793318815f64,
+ 0.00000000016643698911600935f64,
+ &[
+ 0.02485728795564792f64,
+ -0.0003968499982587423f64,
+ 0.0000716825922415843f64,
+ 0.00011029852554073445f64,
+ -0.019949113350295186f64
+ ] as &[f64]
+ ),
+ Phobos::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_402() {
assert_eq!(Deimos::id(), 402i32)
}
@@ -2414,6 +6097,82 @@ mod tests {
assert_eq!(Deimos::along_orbit_radius(), 6f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_402() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Deimos::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_402() {
+ assert_eq!(
+ (
+ 5.526708263174914f64,
+ -0.0018357397507085887f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.05396867424229676f64,
+ 0.004010877798556321f64,
+ 0.0011202666329959662f64,
+ 0.00044218562371099577f64,
+ 0.00013590791618817245f64
+ ] as &[f64]
+ ),
+ Deimos::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_402() {
+ assert_eq!(
+ (
+ 0.9339242922383507f64,
+ -0.0010435487658623783f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.032102888827614605f64,
+ 0.002500240004017941f64,
+ 0.00033360380402252296f64,
+ -0.0002587607695714273f64,
+ 0.00003358537079612689f64
+ ] as &[f64]
+ ),
+ Deimos::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_402() {
+ assert_eq!(
+ (
+ 1.3857797243489947f64,
+ 4.977013864082068f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.047814137677880446f64,
+ -0.006975837721323607f64,
+ -0.0011455047921115052f64,
+ -0.0005084039391304362f64,
+ 0.0002965593651818685f64
+ ] as &[f64]
+ ),
+ Deimos::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_501() {
assert_eq!(Io::id(), 501i32)
}
@@ -2429,6 +6188,64 @@ mod tests {
assert_eq!(Io::along_orbit_radius(), 1819.4f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_501() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Io::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_501() {
+ assert_eq!(
+ (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.0016406094968746698f64,
+ 0.0004188790204786391f64
+ ] as &[f64]
+ ),
+ Io::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_501() {
+ assert_eq!(
+ (
+ 1.1257373675363425f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ 0.00019198621771937625f64
+ ] as &[f64]
+ ),
+ Io::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_501() {
+ assert_eq!(
+ (
+ 3.4974652880714365f64,
+ 3.551552235248627f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.0014835298641951802f64,
+ -0.0003839724354387525f64
+ ] as &[f64]
+ ),
+ Io::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_502() {
assert_eq!(Europa::id(), 502i32)
}
@@ -2444,6 +6261,73 @@ mod tests {
assert_eq!(Europa::along_orbit_radius(), 1560.3f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_502() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Europa::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_502() {
+ assert_eq!(
+ (
+ 4.678878658746398f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.01895427567665842f64,
+ 0.0010471975511965976f64,
+ 0.0002617993877991494f64,
+ 0.00015707963267948965f64
+ ] as &[f64]
+ ),
+ Europa::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_502() {
+ assert_eq!(
+ (
+ 1.125911900461542f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.008168140899333463f64,
+ 0.0004537856055185257f64,
+ 0.00012217304763960306f64,
+ 0.00003490658503988659f64
+ ] as &[f64]
+ ),
+ Europa::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_502() {
+ assert_eq!(
+ (
+ 0.6287025031533974f64,
+ 1.7693227033738699f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.01710422666954443f64,
+ -0.0009424777960769379f64,
+ -0.0002443460952792061f64,
+ -0.00013962634015954637f64
+ ] as &[f64]
+ ),
+ Europa::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_503() {
assert_eq!(Ganymede::id(), 503i32)
}
@@ -2459,6 +6343,70 @@ mod tests {
assert_eq!(Ganymede::along_orbit_radius(), 2631.2f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_503() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ganymede::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_503() {
+ assert_eq!(
+ (
+ 4.680973053848792f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006457718232379018f64,
+ 0.0075223690760955605f64,
+ 0.0015882496193148398f64
+ ] as &[f64]
+ ),
+ Ganymede::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_503() {
+ assert_eq!(
+ (
+ 1.1269590980127384f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00027925268031909274f64,
+ 0.003246312408709453f64,
+ 0.0006806784082777885f64
+ ] as &[f64]
+ ),
+ Ganymede::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_503() {
+ assert_eq!(
+ (
+ 0.7690618815987814f64,
+ 0.8782079330731682f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0005759586531581288f64,
+ -0.006789330790257942f64,
+ -0.0014311699866353504f64
+ ] as &[f64]
+ ),
+ Ganymede::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_504() {
assert_eq!(Callisto::id(), 504i32)
}
@@ -2474,6 +6422,76 @@ mod tests {
assert_eq!(Callisto::along_orbit_radius(), 2410.3f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_504() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Callisto::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_504() {
+ assert_eq!(
+ (
+ 4.690048765959163f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.001186823891356144f64,
+ 0.010297442586766544f64,
+ 0f64,
+ 0.00017453292519943296f64
+ ] as &[f64]
+ ),
+ Callisto::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_504() {
+ assert_eq!(
+ (
+ 1.1314969540679238f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0005061454830783556f64,
+ 0.004433136300065597f64,
+ 0f64,
+ -0.00006981317007977319f64
+ ] as &[f64]
+ ),
+ Callisto::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_504() {
+ assert_eq!(
+ (
+ 4.529303941850484f64,
+ 0.37648622085811195f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.001064650843716541f64,
+ -0.009302604913129777f64,
+ 0f64,
+ -0.00015707963267948965f64
+ ] as &[f64]
+ ),
+ Callisto::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_505() {
assert_eq!(Amalthea::id(), 505i32)
}
@@ -2489,6 +6507,82 @@ mod tests {
assert_eq!(Amalthea::along_orbit_radius(), 73f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_505() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Amalthea::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_505() {
+ assert_eq!(
+ (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ -0.014660765716752368f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.00017453292519943296f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Amalthea::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_505() {
+ assert_eq!(
+ (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ -0.006283185307179586f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Amalthea::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_505() {
+ assert_eq!(
+ (
+ 4.043404278095263f64,
+ 12.612298185680531f64,
+ 0f64,
+ &[
+ 0.013264502315156905f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00017453292519943296f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Amalthea::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_506() {
assert_eq!(Himalia::id(), 506i32)
}
@@ -2504,6 +6598,34 @@ mod tests {
assert_eq!(Himalia::along_orbit_radius(), 85f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_506() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Himalia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_506() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Himalia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_506() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Himalia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_506() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Himalia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_507() {
assert_eq!(Elara::id(), 507i32)
}
@@ -2515,6 +6637,34 @@ mod tests {
assert_eq!(Elara::along_orbit_radius(), 40f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_507() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Elara::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_507() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Elara::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_507() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Elara::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_507() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Elara::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_508() {
assert_eq!(Pasiphae::id(), 508i32)
}
@@ -2526,6 +6676,34 @@ mod tests {
assert_eq!(Pasiphae::along_orbit_radius(), 18f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_508() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pasiphae::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_508() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pasiphae::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_508() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pasiphae::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_508() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pasiphae::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_509() {
assert_eq!(Sinope::id(), 509i32)
}
@@ -2537,17 +6715,73 @@ mod tests {
assert_eq!(Sinope::along_orbit_radius(), 14f64);
}
#[test]
- fn test_naif_id_510() {
- assert_eq!(Lysithea::id(), 510i32)
+ fn test_rotational_elements_nutation_precession_coefficients_509() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Sinope::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_510() {
+ fn test_rotational_elements_right_ascension_coefficients_509() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sinope::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_509() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sinope::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_509() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sinope::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_510() {
+ assert_eq!(Lysithea::id(), 510i32)
+ }
+ #[test]
+ fn test_tri_axial_510() {
assert_eq!(Lysithea::polar_radius(), 12f64);
assert_eq!(Lysithea::mean_radius(), 12f64);
assert_eq!(Lysithea::subplanetary_radius(), 12f64);
assert_eq!(Lysithea::along_orbit_radius(), 12f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_510() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Lysithea::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_510() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Lysithea::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_510() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Lysithea::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_510() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Lysithea::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_511() {
assert_eq!(Carme::id(), 511i32)
}
@@ -2559,6 +6793,34 @@ mod tests {
assert_eq!(Carme::along_orbit_radius(), 15f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_511() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Carme::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_511() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Carme::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_511() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Carme::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_511() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Carme::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_512() {
assert_eq!(Ananke::id(), 512i32)
}
@@ -2570,6 +6832,34 @@ mod tests {
assert_eq!(Ananke::along_orbit_radius(), 10f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_512() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ananke::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_512() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ananke::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_512() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ananke::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_512() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ananke::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_513() {
assert_eq!(Leda::id(), 513i32)
}
@@ -2581,6 +6871,34 @@ mod tests {
assert_eq!(Leda::along_orbit_radius(), 5f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_513() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Leda::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_513() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Leda::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_513() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Leda::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_513() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Leda::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_514() {
assert_eq!(Thebe::id(), 514i32)
}
@@ -2596,6 +6914,82 @@ mod tests {
assert_eq!(Thebe::along_orbit_radius(), 49f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_514() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Thebe::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_514() {
+ assert_eq!(
+ (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.03682644721708035f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64
+ ] as &[f64]
+ ),
+ Thebe::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_514() {
+ assert_eq!(
+ (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.0158824961931484f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.00017453292519943296f64
+ ] as &[f64]
+ ),
+ Thebe::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_514() {
+ assert_eq!(
+ (
+ 0.1494001839707146f64,
+ 9.31482937374367f64,
+ 0f64,
+ &[
+ 0f64,
+ 0.033335788713091695f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64
+ ] as &[f64]
+ ),
+ Thebe::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_515() {
assert_eq!(Adrastea::id(), 515i32)
}
@@ -2611,6 +7005,49 @@ mod tests {
assert_eq!(Adrastea::along_orbit_radius(), 8f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_515() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Adrastea::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_515() {
+ assert_eq!(
+ (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Adrastea::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_515() {
+ assert_eq!(
+ (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Adrastea::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_515() {
+ assert_eq!(
+ (
+ 0.5810201079889122f64,
+ 21.066100687650238f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Adrastea::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_516() {
assert_eq!(Metis::id(), 516i32)
}
@@ -2626,555 +7063,3302 @@ mod tests {
assert_eq!(Metis::along_orbit_radius(), 20f64);
}
#[test]
- fn test_naif_id_517() {
- assert_eq!(Callirrhoe::id(), 517i32)
+ fn test_rotational_elements_nutation_precession_coefficients_516() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Metis::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_518() {
- assert_eq!(Themisto::id(), 518i32)
+ fn test_rotational_elements_right_ascension_coefficients_516() {
+ assert_eq!(
+ (
+ 4.678355059970801f64,
+ -0.00015707963267948965f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Metis::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_519() {
- assert_eq!(Magaclite::id(), 519i32)
+ fn test_rotational_elements_declination_coefficients_516() {
+ assert_eq!(
+ (
+ 1.125562834611143f64,
+ 0.00005235987755982989f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Metis::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_520() {
- assert_eq!(Taygete::id(), 520i32)
+ fn test_rotational_elements_prime_meridian_coefficients_516() {
+ assert_eq!(
+ (
+ 6.040410008227175f64,
+ 21.3149160457997f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Metis::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_521() {
- assert_eq!(Chaldene::id(), 521i32)
+ fn test_naif_id_517() {
+ assert_eq!(Callirrhoe::id(), 517i32)
}
#[test]
- fn test_naif_id_522() {
- assert_eq!(Harpalyke::id(), 522i32)
+ fn test_rotational_elements_nutation_precession_coefficients_517() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Callirrhoe::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_523() {
- assert_eq!(Kalyke::id(), 523i32)
+ fn test_rotational_elements_right_ascension_coefficients_517() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Callirrhoe::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_524() {
- assert_eq!(Iocaste::id(), 524i32)
+ fn test_rotational_elements_declination_coefficients_517() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Callirrhoe::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_525() {
- assert_eq!(Erinome::id(), 525i32)
+ fn test_rotational_elements_prime_meridian_coefficients_517() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Callirrhoe::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_526() {
- assert_eq!(Isonoe::id(), 526i32)
+ fn test_naif_id_518() {
+ assert_eq!(Themisto::id(), 518i32)
}
#[test]
- fn test_naif_id_527() {
- assert_eq!(Praxidike::id(), 527i32)
+ fn test_rotational_elements_nutation_precession_coefficients_518() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Themisto::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_528() {
- assert_eq!(Autonoe::id(), 528i32)
+ fn test_rotational_elements_right_ascension_coefficients_518() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Themisto::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_529() {
- assert_eq!(Thyone::id(), 529i32)
+ fn test_rotational_elements_declination_coefficients_518() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Themisto::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_530() {
- assert_eq!(Hermippe::id(), 530i32)
+ fn test_rotational_elements_prime_meridian_coefficients_518() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Themisto::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_531() {
- assert_eq!(Aitne::id(), 531i32)
+ fn test_naif_id_519() {
+ assert_eq!(Magaclite::id(), 519i32)
}
#[test]
- fn test_naif_id_532() {
- assert_eq!(Eurydome::id(), 532i32)
+ fn test_rotational_elements_nutation_precession_coefficients_519() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Magaclite::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_533() {
- assert_eq!(Euanthe::id(), 533i32)
+ fn test_rotational_elements_right_ascension_coefficients_519() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Magaclite::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_534() {
- assert_eq!(Euporie::id(), 534i32)
+ fn test_rotational_elements_declination_coefficients_519() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Magaclite::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_535() {
- assert_eq!(Orthosie::id(), 535i32)
+ fn test_rotational_elements_prime_meridian_coefficients_519() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Magaclite::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_536() {
- assert_eq!(Sponde::id(), 536i32)
+ fn test_naif_id_520() {
+ assert_eq!(Taygete::id(), 520i32)
}
#[test]
- fn test_naif_id_537() {
- assert_eq!(Kale::id(), 537i32)
+ fn test_rotational_elements_nutation_precession_coefficients_520() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Taygete::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_538() {
- assert_eq!(Pasithee::id(), 538i32)
+ fn test_rotational_elements_right_ascension_coefficients_520() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Taygete::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_539() {
- assert_eq!(Hegemone::id(), 539i32)
+ fn test_rotational_elements_declination_coefficients_520() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Taygete::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_540() {
- assert_eq!(Mneme::id(), 540i32)
+ fn test_rotational_elements_prime_meridian_coefficients_520() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Taygete::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_541() {
- assert_eq!(Aoede::id(), 541i32)
+ fn test_naif_id_521() {
+ assert_eq!(Chaldene::id(), 521i32)
}
#[test]
- fn test_naif_id_542() {
- assert_eq!(Thelxinoe::id(), 542i32)
+ fn test_rotational_elements_nutation_precession_coefficients_521() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Chaldene::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_543() {
- assert_eq!(Arche::id(), 543i32)
+ fn test_rotational_elements_right_ascension_coefficients_521() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Chaldene::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_544() {
- assert_eq!(Kallichore::id(), 544i32)
+ fn test_rotational_elements_declination_coefficients_521() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Chaldene::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_545() {
- assert_eq!(Helike::id(), 545i32)
+ fn test_rotational_elements_prime_meridian_coefficients_521() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Chaldene::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_546() {
- assert_eq!(Carpo::id(), 546i32)
+ fn test_naif_id_522() {
+ assert_eq!(Harpalyke::id(), 522i32)
}
#[test]
- fn test_naif_id_547() {
- assert_eq!(Eukelade::id(), 547i32)
+ fn test_rotational_elements_nutation_precession_coefficients_522() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Harpalyke::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_548() {
- assert_eq!(Cyllene::id(), 548i32)
+ fn test_rotational_elements_right_ascension_coefficients_522() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Harpalyke::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_549() {
- assert_eq!(Kore::id(), 549i32)
+ fn test_rotational_elements_declination_coefficients_522() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Harpalyke::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_550() {
- assert_eq!(Herse::id(), 550i32)
+ fn test_rotational_elements_prime_meridian_coefficients_522() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Harpalyke::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_553() {
- assert_eq!(Dia::id(), 553i32)
+ fn test_naif_id_523() {
+ assert_eq!(Kalyke::id(), 523i32)
}
#[test]
- fn test_naif_id_601() {
- assert_eq!(Mimas::id(), 601i32)
+ fn test_rotational_elements_nutation_precession_coefficients_523() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kalyke::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_601() {
- assert_eq!(Mimas::gravitational_parameter(), 2.503488768152587f64);
+ fn test_rotational_elements_right_ascension_coefficients_523() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kalyke::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_601() {
- assert_eq!(Mimas::polar_radius(), 190.6f64);
- assert_eq!(Mimas::mean_radius(), 198.36666666666667f64);
- assert_eq!(Mimas::subplanetary_radius(), 207.8f64);
- assert_eq!(Mimas::along_orbit_radius(), 196.7f64);
+ fn test_rotational_elements_declination_coefficients_523() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kalyke::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_602() {
- assert_eq!(Enceladus::id(), 602i32)
+ fn test_rotational_elements_prime_meridian_coefficients_523() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kalyke::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_602() {
- assert_eq!(Enceladus::gravitational_parameter(), 7.210366688598896f64);
+ fn test_naif_id_524() {
+ assert_eq!(Iocaste::id(), 524i32)
}
#[test]
- fn test_tri_axial_602() {
- assert_eq!(Enceladus::polar_radius(), 248.3f64);
- assert_eq!(Enceladus::mean_radius(), 252.1f64);
- assert_eq!(Enceladus::subplanetary_radius(), 256.6f64);
- assert_eq!(Enceladus::along_orbit_radius(), 251.4f64);
+ fn test_rotational_elements_nutation_precession_coefficients_524() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Iocaste::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_603() {
- assert_eq!(Tethys::id(), 603i32)
+ fn test_rotational_elements_right_ascension_coefficients_524() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Iocaste::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_603() {
- assert_eq!(Tethys::gravitational_parameter(), 41.21352885489587f64);
+ fn test_rotational_elements_declination_coefficients_524() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Iocaste::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_603() {
- assert_eq!(Tethys::polar_radius(), 526.3f64);
- assert_eq!(Tethys::mean_radius(), 530.9999999999999f64);
- assert_eq!(Tethys::subplanetary_radius(), 538.4f64);
- assert_eq!(Tethys::along_orbit_radius(), 528.3f64);
+ fn test_rotational_elements_prime_meridian_coefficients_524() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Iocaste::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_604() {
- assert_eq!(Dione::id(), 604i32)
+ fn test_naif_id_525() {
+ assert_eq!(Erinome::id(), 525i32)
}
#[test]
- fn test_point_mass_604() {
- assert_eq!(Dione::gravitational_parameter(), 73.11607172482067f64);
+ fn test_rotational_elements_nutation_precession_coefficients_525() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Erinome::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_604() {
- assert_eq!(Dione::polar_radius(), 559.6f64);
- assert_eq!(Dione::mean_radius(), 561.4333333333333f64);
- assert_eq!(Dione::subplanetary_radius(), 563.4f64);
- assert_eq!(Dione::along_orbit_radius(), 561.3f64);
+ fn test_rotational_elements_right_ascension_coefficients_525() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Erinome::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_605() {
- assert_eq!(Rhea::id(), 605i32)
+ fn test_rotational_elements_declination_coefficients_525() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Erinome::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_605() {
- assert_eq!(Rhea::gravitational_parameter(), 153.9417519146563f64);
+ fn test_rotational_elements_prime_meridian_coefficients_525() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Erinome::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_605() {
- assert_eq!(Rhea::polar_radius(), 762.4f64);
- assert_eq!(Rhea::mean_radius(), 763.5f64);
- assert_eq!(Rhea::subplanetary_radius(), 765f64);
- assert_eq!(Rhea::along_orbit_radius(), 763.1f64);
- }
+ fn test_naif_id_526() {
+ assert_eq!(Isonoe::id(), 526i32)
+ }
#[test]
- fn test_naif_id_606() {
- assert_eq!(Titan::id(), 606i32)
+ fn test_rotational_elements_nutation_precession_coefficients_526() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Isonoe::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_606() {
- assert_eq!(Titan::gravitational_parameter(), 8978.137095521046f64);
+ fn test_rotational_elements_right_ascension_coefficients_526() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Isonoe::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_606() {
- assert_eq!(Titan::polar_radius(), 2574.47f64);
- assert_eq!(Titan::mean_radius(), 2574.7999999999997f64);
- assert_eq!(Titan::subplanetary_radius(), 2575.15f64);
- assert_eq!(Titan::along_orbit_radius(), 2574.78f64);
+ fn test_rotational_elements_declination_coefficients_526() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Isonoe::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_607() {
- assert_eq!(Hyperion::id(), 607i32)
+ fn test_rotational_elements_prime_meridian_coefficients_526() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Isonoe::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_607() {
- assert_eq!(Hyperion::gravitational_parameter(), 0.3704913747932265f64);
+ fn test_naif_id_527() {
+ assert_eq!(Praxidike::id(), 527i32)
}
#[test]
- fn test_tri_axial_607() {
- assert_eq!(Hyperion::polar_radius(), 102.7f64);
- assert_eq!(Hyperion::mean_radius(), 138.6f64);
- assert_eq!(Hyperion::subplanetary_radius(), 180.1f64);
- assert_eq!(Hyperion::along_orbit_radius(), 133f64);
+ fn test_rotational_elements_nutation_precession_coefficients_527() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Praxidike::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_608() {
- assert_eq!(Iapetus::id(), 608i32)
+ fn test_rotational_elements_right_ascension_coefficients_527() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Praxidike::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_608() {
- assert_eq!(Iapetus::gravitational_parameter(), 120.5151060137642f64);
+ fn test_rotational_elements_declination_coefficients_527() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Praxidike::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_608() {
- assert_eq!(Iapetus::polar_radius(), 712.1f64);
- assert_eq!(Iapetus::mean_radius(), 734.5f64);
- assert_eq!(Iapetus::subplanetary_radius(), 745.7f64);
- assert_eq!(Iapetus::along_orbit_radius(), 745.7f64);
+ fn test_rotational_elements_prime_meridian_coefficients_527() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Praxidike::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_609() {
- assert_eq!(Phoebe::id(), 609i32)
+ fn test_naif_id_528() {
+ assert_eq!(Autonoe::id(), 528i32)
}
#[test]
- fn test_point_mass_609() {
- assert_eq!(Phoebe::gravitational_parameter(), 0.5547860052791678f64);
+ fn test_rotational_elements_nutation_precession_coefficients_528() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Autonoe::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_609() {
- assert_eq!(Phoebe::polar_radius(), 101.8f64);
- assert_eq!(Phoebe::mean_radius(), 106.56666666666666f64);
- assert_eq!(Phoebe::subplanetary_radius(), 109.4f64);
- assert_eq!(Phoebe::along_orbit_radius(), 108.5f64);
+ fn test_rotational_elements_right_ascension_coefficients_528() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Autonoe::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_610() {
- assert_eq!(Janus::id(), 610i32)
+ fn test_rotational_elements_declination_coefficients_528() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Autonoe::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_610() {
- assert_eq!(Janus::gravitational_parameter(), 0.1265765099012197f64);
+ fn test_rotational_elements_prime_meridian_coefficients_528() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Autonoe::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_610() {
- assert_eq!(Janus::polar_radius(), 76.3f64);
- assert_eq!(Janus::mean_radius(), 90.33333333333333f64);
- assert_eq!(Janus::subplanetary_radius(), 101.7f64);
- assert_eq!(Janus::along_orbit_radius(), 93f64);
+ fn test_naif_id_529() {
+ assert_eq!(Thyone::id(), 529i32)
}
#[test]
- fn test_naif_id_611() {
- assert_eq!(Epimetheus::id(), 611i32)
+ fn test_rotational_elements_nutation_precession_coefficients_529() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Thyone::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_611() {
+ fn test_rotational_elements_right_ascension_coefficients_529() {
assert_eq!(
- Epimetheus::gravitational_parameter(),
- 0.03512333288208074f64
- );
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thyone::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_611() {
- assert_eq!(Epimetheus::polar_radius(), 53f64);
- assert_eq!(Epimetheus::mean_radius(), 58.4f64);
- assert_eq!(Epimetheus::subplanetary_radius(), 64.9f64);
- assert_eq!(Epimetheus::along_orbit_radius(), 57.3f64);
+ fn test_rotational_elements_declination_coefficients_529() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thyone::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_612() {
- assert_eq!(Helene::id(), 612i32)
+ fn test_rotational_elements_prime_meridian_coefficients_529() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thyone::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_612() {
- assert_eq!(Helene::gravitational_parameter(), 0.0004757419551776972f64);
+ fn test_naif_id_530() {
+ assert_eq!(Hermippe::id(), 530i32)
}
#[test]
- fn test_tri_axial_612() {
- assert_eq!(Helene::polar_radius(), 13.3f64);
- assert_eq!(Helene::mean_radius(), 18.46666666666667f64);
- assert_eq!(Helene::subplanetary_radius(), 22.5f64);
- assert_eq!(Helene::along_orbit_radius(), 19.6f64);
+ fn test_rotational_elements_nutation_precession_coefficients_530() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Hermippe::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_613() {
- assert_eq!(Telesto::id(), 613i32)
+ fn test_rotational_elements_right_ascension_coefficients_530() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hermippe::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_613() {
- assert_eq!(Telesto::polar_radius(), 9.8f64);
- assert_eq!(Telesto::mean_radius(), 12.633333333333335f64);
- assert_eq!(Telesto::subplanetary_radius(), 16.3f64);
- assert_eq!(Telesto::along_orbit_radius(), 11.8f64);
+ fn test_rotational_elements_declination_coefficients_530() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hermippe::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_614() {
- assert_eq!(Calypso::id(), 614i32)
+ fn test_rotational_elements_prime_meridian_coefficients_530() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hermippe::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_614() {
- assert_eq!(Calypso::polar_radius(), 6.3f64);
- assert_eq!(Calypso::mean_radius(), 10.3f64);
- assert_eq!(Calypso::subplanetary_radius(), 15.3f64);
- assert_eq!(Calypso::along_orbit_radius(), 9.3f64);
+ fn test_naif_id_531() {
+ assert_eq!(Aitne::id(), 531i32)
}
#[test]
- fn test_naif_id_615() {
- assert_eq!(Atlas::id(), 615i32)
+ fn test_rotational_elements_nutation_precession_coefficients_531() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Aitne::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_615() {
- assert_eq!(Atlas::gravitational_parameter(), 0.0003718871247516475f64);
+ fn test_rotational_elements_right_ascension_coefficients_531() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aitne::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_615() {
- assert_eq!(Atlas::polar_radius(), 9.4f64);
- assert_eq!(Atlas::mean_radius(), 15.899999999999999f64);
- assert_eq!(Atlas::subplanetary_radius(), 20.5f64);
- assert_eq!(Atlas::along_orbit_radius(), 17.8f64);
+ fn test_rotational_elements_declination_coefficients_531() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aitne::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_616() {
- assert_eq!(Prometheus::id(), 616i32)
+ fn test_rotational_elements_prime_meridian_coefficients_531() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aitne::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_616() {
- assert_eq!(Prometheus::gravitational_parameter(), 0.0107520800100761f64);
+ fn test_naif_id_532() {
+ assert_eq!(Eurydome::id(), 532i32)
}
#[test]
- fn test_tri_axial_616() {
- assert_eq!(Prometheus::polar_radius(), 28.2f64);
- assert_eq!(Prometheus::mean_radius(), 46f64);
- assert_eq!(Prometheus::subplanetary_radius(), 68.2f64);
- assert_eq!(Prometheus::along_orbit_radius(), 41.6f64);
+ fn test_rotational_elements_nutation_precession_coefficients_532() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Eurydome::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_617() {
- assert_eq!(Pandora::id(), 617i32)
+ fn test_rotational_elements_right_ascension_coefficients_532() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Eurydome::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_point_mass_617() {
- assert_eq!(Pandora::gravitational_parameter(), 0.009290325122028795f64);
+ fn test_rotational_elements_declination_coefficients_532() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Eurydome::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_617() {
- assert_eq!(Pandora::polar_radius(), 31.5f64);
- assert_eq!(Pandora::mean_radius(), 41.5f64);
- assert_eq!(Pandora::subplanetary_radius(), 52.2f64);
- assert_eq!(Pandora::along_orbit_radius(), 40.8f64);
+ fn test_rotational_elements_prime_meridian_coefficients_532() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Eurydome::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_618() {
- assert_eq!(Pan::id(), 618i32)
+ fn test_naif_id_533() {
+ assert_eq!(Euanthe::id(), 533i32)
}
#[test]
- fn test_tri_axial_618() {
- assert_eq!(Pan::polar_radius(), 10.4f64);
- assert_eq!(Pan::mean_radius(), 14.333333333333334f64);
- assert_eq!(Pan::subplanetary_radius(), 17.2f64);
- assert_eq!(Pan::along_orbit_radius(), 15.4f64);
+ fn test_rotational_elements_nutation_precession_coefficients_533() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Euanthe::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_619() {
- assert_eq!(Ymir::id(), 619i32)
+ fn test_rotational_elements_right_ascension_coefficients_533() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Euanthe::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_620() {
- assert_eq!(Paaliaq::id(), 620i32)
+ fn test_rotational_elements_declination_coefficients_533() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Euanthe::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_621() {
- assert_eq!(Tarvos::id(), 621i32)
+ fn test_rotational_elements_prime_meridian_coefficients_533() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Euanthe::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_622() {
- assert_eq!(Ijiraq::id(), 622i32)
+ fn test_naif_id_534() {
+ assert_eq!(Euporie::id(), 534i32)
}
#[test]
- fn test_naif_id_623() {
- assert_eq!(Suttungr::id(), 623i32)
+ fn test_rotational_elements_nutation_precession_coefficients_534() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Euporie::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_624() {
- assert_eq!(Kiviuq::id(), 624i32)
+ fn test_rotational_elements_right_ascension_coefficients_534() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Euporie::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_625() {
- assert_eq!(Mundilfari::id(), 625i32)
+ fn test_rotational_elements_declination_coefficients_534() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Euporie::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_626() {
- assert_eq!(Albiorix::id(), 626i32)
+ fn test_rotational_elements_prime_meridian_coefficients_534() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Euporie::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_627() {
- assert_eq!(Skathi::id(), 627i32)
+ fn test_naif_id_535() {
+ assert_eq!(Orthosie::id(), 535i32)
}
#[test]
- fn test_naif_id_628() {
- assert_eq!(Erriapus::id(), 628i32)
+ fn test_rotational_elements_nutation_precession_coefficients_535() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Orthosie::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_629() {
- assert_eq!(Siarnaq::id(), 629i32)
+ fn test_rotational_elements_right_ascension_coefficients_535() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Orthosie::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_630() {
- assert_eq!(Thrymr::id(), 630i32)
+ fn test_rotational_elements_declination_coefficients_535() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Orthosie::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_631() {
- assert_eq!(Narvi::id(), 631i32)
+ fn test_rotational_elements_prime_meridian_coefficients_535() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Orthosie::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_632() {
- assert_eq!(Methone::id(), 632i32)
+ fn test_naif_id_536() {
+ assert_eq!(Sponde::id(), 536i32)
}
#[test]
- fn test_tri_axial_632() {
- assert_eq!(Methone::polar_radius(), 1.21f64);
- assert_eq!(Methone::mean_radius(), 1.4799999999999998f64);
- assert_eq!(Methone::subplanetary_radius(), 1.94f64);
- assert_eq!(Methone::along_orbit_radius(), 1.29f64);
+ fn test_rotational_elements_nutation_precession_coefficients_536() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Sponde::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_633() {
- assert_eq!(Pallene::id(), 633i32)
+ fn test_rotational_elements_right_ascension_coefficients_536() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sponde::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_633() {
- assert_eq!(Pallene::polar_radius(), 1.8f64);
- assert_eq!(Pallene::mean_radius(), 2.2533333333333334f64);
- assert_eq!(Pallene::subplanetary_radius(), 2.88f64);
- assert_eq!(Pallene::along_orbit_radius(), 2.08f64);
+ fn test_rotational_elements_declination_coefficients_536() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sponde::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_634() {
- assert_eq!(Polydeuces::id(), 634i32)
+ fn test_rotational_elements_prime_meridian_coefficients_536() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sponde::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_634() {
- assert_eq!(Polydeuces::polar_radius(), 1f64);
- assert_eq!(Polydeuces::mean_radius(), 1.2333333333333334f64);
- assert_eq!(Polydeuces::subplanetary_radius(), 1.5f64);
- assert_eq!(Polydeuces::along_orbit_radius(), 1.2f64);
+ fn test_naif_id_537() {
+ assert_eq!(Kale::id(), 537i32)
}
#[test]
- fn test_naif_id_635() {
- assert_eq!(Daphnis::id(), 635i32)
+ fn test_rotational_elements_nutation_precession_coefficients_537() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kale::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_635() {
- assert_eq!(Daphnis::polar_radius(), 2.8f64);
- assert_eq!(Daphnis::mean_radius(), 3.9666666666666663f64);
- assert_eq!(Daphnis::subplanetary_radius(), 4.6f64);
- assert_eq!(Daphnis::along_orbit_radius(), 4.5f64);
+ fn test_rotational_elements_right_ascension_coefficients_537() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kale::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_636() {
- assert_eq!(Aegir::id(), 636i32)
+ fn test_rotational_elements_declination_coefficients_537() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kale::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_637() {
- assert_eq!(Bebhionn::id(), 637i32)
+ fn test_rotational_elements_prime_meridian_coefficients_537() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kale::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_638() {
- assert_eq!(Bergelmir::id(), 638i32)
+ fn test_naif_id_538() {
+ assert_eq!(Pasithee::id(), 538i32)
}
#[test]
- fn test_naif_id_639() {
- assert_eq!(Bestla::id(), 639i32)
+ fn test_rotational_elements_nutation_precession_coefficients_538() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pasithee::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_640() {
- assert_eq!(Farbauti::id(), 640i32)
+ fn test_rotational_elements_right_ascension_coefficients_538() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pasithee::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_641() {
- assert_eq!(Fenrir::id(), 641i32)
+ fn test_rotational_elements_declination_coefficients_538() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pasithee::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_538() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pasithee::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_539() {
+ assert_eq!(Hegemone::id(), 539i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_539() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Hegemone::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_539() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hegemone::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_539() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hegemone::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_539() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hegemone::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_540() {
+ assert_eq!(Mneme::id(), 540i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_540() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Mneme::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_540() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mneme::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_540() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mneme::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_540() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mneme::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_541() {
+ assert_eq!(Aoede::id(), 541i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_541() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Aoede::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_541() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aoede::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_541() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aoede::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_541() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aoede::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_542() {
+ assert_eq!(Thelxinoe::id(), 542i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_542() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Thelxinoe::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_542() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thelxinoe::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_542() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thelxinoe::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_542() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thelxinoe::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_543() {
+ assert_eq!(Arche::id(), 543i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_543() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Arche::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_543() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Arche::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_543() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Arche::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_543() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Arche::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_544() {
+ assert_eq!(Kallichore::id(), 544i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_544() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kallichore::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_544() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kallichore::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_544() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kallichore::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_544() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kallichore::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_545() {
+ assert_eq!(Helike::id(), 545i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_545() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Helike::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_545() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Helike::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_545() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Helike::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_545() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Helike::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_546() {
+ assert_eq!(Carpo::id(), 546i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_546() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Carpo::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_546() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Carpo::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_546() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Carpo::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_546() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Carpo::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_547() {
+ assert_eq!(Eukelade::id(), 547i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_547() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Eukelade::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_547() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Eukelade::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_547() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Eukelade::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_547() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Eukelade::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_548() {
+ assert_eq!(Cyllene::id(), 548i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_548() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Cyllene::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_548() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Cyllene::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_548() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Cyllene::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_548() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Cyllene::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_549() {
+ assert_eq!(Kore::id(), 549i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_549() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kore::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_549() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kore::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_549() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kore::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_549() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kore::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_550() {
+ assert_eq!(Herse::id(), 550i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_550() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Herse::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_550() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Herse::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_550() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Herse::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_550() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Herse::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_553() {
+ assert_eq!(Dia::id(), 553i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_553() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Dia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_553() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Dia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_553() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Dia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_553() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Dia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_601() {
+ assert_eq!(Mimas::id(), 601i32)
+ }
+ #[test]
+ fn test_point_mass_601() {
+ assert_eq!(Mimas::gravitational_parameter(), 2.503488768152587f64);
+ }
+ #[test]
+ fn test_tri_axial_601() {
+ assert_eq!(Mimas::polar_radius(), 190.6f64);
+ assert_eq!(Mimas::mean_radius(), 198.36666666666667f64);
+ assert_eq!(Mimas::subplanetary_radius(), 207.8f64);
+ assert_eq!(Mimas::along_orbit_radius(), 196.7f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_601() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Mimas::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_601() {
+ assert_eq!(
+ (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.2366666465704311f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Mimas::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_601() {
+ assert_eq!(
+ (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.026703537555513242f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Mimas::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_601() {
+ assert_eq!(
+ (
+ 5.819974923700291f64,
+ 6.667062709440567f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.23527038316883564f64,
+ 0f64,
+ -0.7827801695194568f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Mimas::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_602() {
+ assert_eq!(Enceladus::id(), 602i32)
+ }
+ #[test]
+ fn test_point_mass_602() {
+ assert_eq!(Enceladus::gravitational_parameter(), 7.210366688598896f64);
+ }
+ #[test]
+ fn test_tri_axial_602() {
+ assert_eq!(Enceladus::polar_radius(), 248.3f64);
+ assert_eq!(Enceladus::mean_radius(), 252.1f64);
+ assert_eq!(Enceladus::subplanetary_radius(), 256.6f64);
+ assert_eq!(Enceladus::along_orbit_radius(), 251.4f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_602() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Enceladus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_602() {
+ assert_eq!(
+ (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Enceladus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_602() {
+ assert_eq!(
+ (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Enceladus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_602() {
+ assert_eq!(
+ (
+ 0.11030480872604163f64,
+ 4.585536698039173f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Enceladus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_603() {
+ assert_eq!(Tethys::id(), 603i32)
+ }
+ #[test]
+ fn test_point_mass_603() {
+ assert_eq!(Tethys::gravitational_parameter(), 41.21352885489587f64);
+ }
+ #[test]
+ fn test_tri_axial_603() {
+ assert_eq!(Tethys::polar_radius(), 526.3f64);
+ assert_eq!(Tethys::mean_radius(), 530.9999999999999f64);
+ assert_eq!(Tethys::subplanetary_radius(), 538.4f64);
+ assert_eq!(Tethys::along_orbit_radius(), 528.3f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_603() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Tethys::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_603() {
+ assert_eq!(
+ (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.16859880574265224f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Tethys::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_603() {
+ assert_eq!(
+ (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.019024088846738195f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Tethys::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_603() {
+ assert_eq!(
+ (
+ 0.1562069680534925f64,
+ 3.328306379991881f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.16755160819145562f64,
+ 0.03892084231947355f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Tethys::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_604() {
+ assert_eq!(Dione::id(), 604i32)
+ }
+ #[test]
+ fn test_point_mass_604() {
+ assert_eq!(Dione::gravitational_parameter(), 73.11607172482067f64);
+ }
+ #[test]
+ fn test_tri_axial_604() {
+ assert_eq!(Dione::polar_radius(), 559.6f64);
+ assert_eq!(Dione::mean_radius(), 561.4333333333333f64);
+ assert_eq!(Dione::subplanetary_radius(), 563.4f64);
+ assert_eq!(Dione::along_orbit_radius(), 561.3f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_604() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Dione::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_604() {
+ assert_eq!(
+ (
+ 0.7096508738608943f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Dione::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_604() {
+ assert_eq!(
+ (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Dione::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_604() {
+ assert_eq!(
+ (
+ 6.241297405131723f64,
+ 2.295717637805533f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Dione::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_605() {
+ assert_eq!(Rhea::id(), 605i32)
+ }
+ #[test]
+ fn test_point_mass_605() {
+ assert_eq!(Rhea::gravitational_parameter(), 153.9417519146563f64);
+ }
+ #[test]
+ fn test_tri_axial_605() {
+ assert_eq!(Rhea::polar_radius(), 762.4f64);
+ assert_eq!(Rhea::mean_radius(), 763.5f64);
+ assert_eq!(Rhea::subplanetary_radius(), 765f64);
+ assert_eq!(Rhea::along_orbit_radius(), 763.1f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_605() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Rhea::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_605() {
+ assert_eq!(
+ (
+ 0.7047639519553103f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.054105206811824215f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Rhea::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_605() {
+ assert_eq!(
+ (
+ 1.4582225900412622f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.006108652381980153f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Rhea::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_605() {
+ assert_eq!(
+ (
+ 4.104316268989865f64,
+ 1.3908537151816638f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.05375614096142535f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Rhea::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_606() {
+ assert_eq!(Titan::id(), 606i32)
+ }
+ #[test]
+ fn test_point_mass_606() {
+ assert_eq!(Titan::gravitational_parameter(), 8978.137095521046f64);
+ }
+ #[test]
+ fn test_tri_axial_606() {
+ assert_eq!(Titan::polar_radius(), 2574.47f64);
+ assert_eq!(Titan::mean_radius(), 2574.7999999999997f64);
+ assert_eq!(Titan::subplanetary_radius(), 2575.15f64);
+ assert_eq!(Titan::along_orbit_radius(), 2574.78f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_606() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Titan::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_606() {
+ assert_eq!(
+ (
+ 0.6891031125771652f64,
+ 0f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64] as &[f64]
+ ),
+ Titan::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_606() {
+ assert_eq!(
+ (
+ 1.456091543024577f64,
+ 0f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64] as &[f64]
+ ),
+ Titan::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_606() {
+ assert_eq!(
+ (
+ 3.2565313114798795f64,
+ 0.39404258030637335f64,
+ 0f64,
+ &[0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64, 0f64] as &[f64]
+ ),
+ Titan::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_607() {
+ assert_eq!(Hyperion::id(), 607i32)
+ }
+ #[test]
+ fn test_point_mass_607() {
+ assert_eq!(Hyperion::gravitational_parameter(), 0.3704913747932265f64);
+ }
+ #[test]
+ fn test_tri_axial_607() {
+ assert_eq!(Hyperion::polar_radius(), 102.7f64);
+ assert_eq!(Hyperion::mean_radius(), 138.6f64);
+ assert_eq!(Hyperion::subplanetary_radius(), 180.1f64);
+ assert_eq!(Hyperion::along_orbit_radius(), 133f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_607() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Hyperion::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_607() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hyperion::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_607() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hyperion::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_607() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hyperion::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_608() {
+ assert_eq!(Iapetus::id(), 608i32)
+ }
+ #[test]
+ fn test_point_mass_608() {
+ assert_eq!(Iapetus::gravitational_parameter(), 120.5151060137642f64);
+ }
+ #[test]
+ fn test_tri_axial_608() {
+ assert_eq!(Iapetus::polar_radius(), 712.1f64);
+ assert_eq!(Iapetus::mean_radius(), 734.5f64);
+ assert_eq!(Iapetus::subplanetary_radius(), 745.7f64);
+ assert_eq!(Iapetus::along_orbit_radius(), 745.7f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_608() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Iapetus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_608() {
+ assert_eq!(
+ (
+ 5.552939548145159f64,
+ -0.06892305216125608f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Iapetus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_608() {
+ assert_eq!(
+ (
+ 1.3095205377713455f64,
+ -0.019949113350295186f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Iapetus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_608() {
+ assert_eq!(
+ (
+ 6.199409503083858f64,
+ 0.07920229445458282f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Iapetus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_609() {
+ assert_eq!(Phoebe::id(), 609i32)
+ }
+ #[test]
+ fn test_point_mass_609() {
+ assert_eq!(Phoebe::gravitational_parameter(), 0.5547860052791678f64);
+ }
+ #[test]
+ fn test_tri_axial_609() {
+ assert_eq!(Phoebe::polar_radius(), 101.8f64);
+ assert_eq!(Phoebe::mean_radius(), 106.56666666666666f64);
+ assert_eq!(Phoebe::subplanetary_radius(), 109.4f64);
+ assert_eq!(Phoebe::along_orbit_radius(), 108.5f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_609() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Phoebe::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_609() {
+ assert_eq!(
+ (6.229080100367762f64, 0f64, 0f64, &[] as &[f64]),
+ Phoebe::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_609() {
+ assert_eq!(
+ (1.3578661580515883f64, 0f64, 0f64, &[] as &[f64]),
+ Phoebe::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_609() {
+ assert_eq!(
+ (
+ 3.116808978211474f64,
+ 16.26016798998745f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Phoebe::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_610() {
+ assert_eq!(Janus::id(), 610i32)
+ }
+ #[test]
+ fn test_point_mass_610() {
+ assert_eq!(Janus::gravitational_parameter(), 0.1265765099012197f64);
+ }
+ #[test]
+ fn test_tri_axial_610() {
+ assert_eq!(Janus::polar_radius(), 76.3f64);
+ assert_eq!(Janus::mean_radius(), 90.33333333333333f64);
+ assert_eq!(Janus::subplanetary_radius(), 101.7f64);
+ assert_eq!(Janus::along_orbit_radius(), 93f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_610() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Janus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_610() {
+ assert_eq!(
+ (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.028326693759867967f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0004014257279586958f64
+ ] as &[f64]
+ ),
+ Janus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_610() {
+ assert_eq!(
+ (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.003193952531149623f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.000017453292519943296f64
+ ] as &[f64]
+ ),
+ Janus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_610() {
+ assert_eq!(
+ (
+ 1.0267771989482641f64,
+ 9.044924285944507f64,
+ 0f64,
+ &[
+ 0f64,
+ 0.028152160834668535f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0004014257279586958f64
+ ] as &[f64]
+ ),
+ Janus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_611() {
+ assert_eq!(Epimetheus::id(), 611i32)
+ }
+ #[test]
+ fn test_point_mass_611() {
+ assert_eq!(
+ Epimetheus::gravitational_parameter(),
+ 0.03512333288208074f64
+ );
+ }
+ #[test]
+ fn test_tri_axial_611() {
+ assert_eq!(Epimetheus::polar_radius(), 53f64);
+ assert_eq!(Epimetheus::mean_radius(), 58.4f64);
+ assert_eq!(Epimetheus::subplanetary_radius(), 64.9f64);
+ assert_eq!(Epimetheus::along_orbit_radius(), 57.3f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_611() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Epimetheus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_611() {
+ assert_eq!(
+ (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[
+ -0.05503023131538121f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0015009831567151233f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Epimetheus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_611() {
+ assert_eq!(
+ (
+ 1.457698991265664f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[
+ -0.006213372137099813f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.00008726646259971648f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Epimetheus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_611() {
+ assert_eq!(
+ (
+ 5.128999072835736f64,
+ 9.049370273103856f64,
+ 0f64,
+ &[
+ 0.05468116546498235f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015009831567151233f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Epimetheus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_612() {
+ assert_eq!(Helene::id(), 612i32)
+ }
+ #[test]
+ fn test_point_mass_612() {
+ assert_eq!(Helene::gravitational_parameter(), 0.0004757419551776972f64);
+ }
+ #[test]
+ fn test_tri_axial_612() {
+ assert_eq!(Helene::polar_radius(), 13.3f64);
+ assert_eq!(Helene::mean_radius(), 18.46666666666667f64);
+ assert_eq!(Helene::subplanetary_radius(), 22.5f64);
+ assert_eq!(Helene::along_orbit_radius(), 19.6f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_612() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Helene::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_612() {
+ assert_eq!(
+ (
+ 0.7129669994396837f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Helene::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_612() {
+ assert_eq!(
+ (
+ 1.4545573986120743f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Helene::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_612() {
+ assert_eq!(
+ (
+ 4.278151062488501f64,
+ 2.297157080652823f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Helene::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_613() {
+ assert_eq!(Telesto::id(), 613i32)
+ }
+ #[test]
+ fn test_tri_axial_613() {
+ assert_eq!(Telesto::polar_radius(), 9.8f64);
+ assert_eq!(Telesto::mean_radius(), 12.633333333333335f64);
+ assert_eq!(Telesto::subplanetary_radius(), 16.3f64);
+ assert_eq!(Telesto::along_orbit_radius(), 11.8f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_613() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Telesto::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_613() {
+ assert_eq!(
+ (
+ 0.8815658051823358f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Telesto::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_613() {
+ assert_eq!(
+ (
+ 1.4671237692264334f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Telesto::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_613() {
+ assert_eq!(
+ (
+ 0.9927432785343747f64,
+ 3.328306811088206f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Telesto::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_614() {
+ assert_eq!(Calypso::id(), 614i32)
+ }
+ #[test]
+ fn test_tri_axial_614() {
+ assert_eq!(Calypso::polar_radius(), 6.3f64);
+ assert_eq!(Calypso::mean_radius(), 10.3f64);
+ assert_eq!(Calypso::subplanetary_radius(), 15.3f64);
+ assert_eq!(Calypso::along_orbit_radius(), 9.3f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_614() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Calypso::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_614() {
+ assert_eq!(
+ (
+ 0.6354743806511354f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Calypso::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_614() {
+ assert_eq!(
+ (
+ 1.4842279958959779f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Calypso::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_614() {
+ assert_eq!(
+ (
+ 2.679254934736495f64,
+ 3.327893239613983f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Calypso::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_615() {
+ assert_eq!(Atlas::id(), 615i32)
+ }
+ #[test]
+ fn test_point_mass_615() {
+ assert_eq!(Atlas::gravitational_parameter(), 0.0003718871247516475f64);
+ }
+ #[test]
+ fn test_tri_axial_615() {
+ assert_eq!(Atlas::polar_radius(), 9.4f64);
+ assert_eq!(Atlas::mean_radius(), 15.899999999999999f64);
+ assert_eq!(Atlas::subplanetary_radius(), 20.5f64);
+ assert_eq!(Atlas::along_orbit_radius(), 17.8f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_615() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Atlas::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_615() {
+ assert_eq!(
+ (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Atlas::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_615() {
+ assert_eq!(
+ (
+ 1.4578735241908636f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Atlas::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_615() {
+ assert_eq!(
+ (
+ 2.4064599726497815f64,
+ 10.442409634437194f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Atlas::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_616() {
+ assert_eq!(Prometheus::id(), 616i32)
+ }
+ #[test]
+ fn test_point_mass_616() {
+ assert_eq!(Prometheus::gravitational_parameter(), 0.0107520800100761f64);
+ }
+ #[test]
+ fn test_tri_axial_616() {
+ assert_eq!(Prometheus::polar_radius(), 28.2f64);
+ assert_eq!(Prometheus::mean_radius(), 46f64);
+ assert_eq!(Prometheus::subplanetary_radius(), 68.2f64);
+ assert_eq!(Prometheus::along_orbit_radius(), 41.6f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_616() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Prometheus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_616() {
+ assert_eq!(
+ (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Prometheus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_616() {
+ assert_eq!(
+ (
+ 1.4578735241908636f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Prometheus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_616() {
+ assert_eq!(
+ (
+ 5.1686180468560075f64,
+ 10.250126710744977f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Prometheus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_617() {
+ assert_eq!(Pandora::id(), 617i32)
+ }
+ #[test]
+ fn test_point_mass_617() {
+ assert_eq!(Pandora::gravitational_parameter(), 0.009290325122028795f64);
+ }
+ #[test]
+ fn test_tri_axial_617() {
+ assert_eq!(Pandora::polar_radius(), 31.5f64);
+ assert_eq!(Pandora::mean_radius(), 41.5f64);
+ assert_eq!(Pandora::subplanetary_radius(), 52.2f64);
+ assert_eq!(Pandora::along_orbit_radius(), 40.8f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_617() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pandora::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_617() {
+ assert_eq!(
+ (
+ 0.7082546104592989f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pandora::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_617() {
+ assert_eq!(
+ (
+ 1.4578735241908636f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pandora::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_617() {
+ assert_eq!(
+ (
+ 2.8434904173491615f64,
+ 9.997055714535051f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pandora::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_618() {
+ assert_eq!(Pan::id(), 618i32)
+ }
+ #[test]
+ fn test_tri_axial_618() {
+ assert_eq!(Pan::polar_radius(), 10.4f64);
+ assert_eq!(Pan::mean_radius(), 14.333333333333334f64);
+ assert_eq!(Pan::subplanetary_radius(), 17.2f64);
+ assert_eq!(Pan::along_orbit_radius(), 15.4f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_618() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pan::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_618() {
+ assert_eq!(
+ (
+ 0.7086036763096978f64,
+ -0.0006283185307179586f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pan::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_618() {
+ assert_eq!(
+ (
+ 1.457349925415265f64,
+ -0.00006981317007977319f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pan::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_618() {
+ assert_eq!(
+ (
+ 0.8517206749732328f64,
+ 10.92652906235538f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Pan::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_619() {
+ assert_eq!(Ymir::id(), 619i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_619() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ymir::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_619() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ymir::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_619() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ymir::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_619() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ymir::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_620() {
+ assert_eq!(Paaliaq::id(), 620i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_620() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Paaliaq::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_620() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Paaliaq::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_620() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Paaliaq::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_620() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Paaliaq::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_621() {
+ assert_eq!(Tarvos::id(), 621i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_621() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Tarvos::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_621() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Tarvos::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_621() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Tarvos::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_621() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Tarvos::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_622() {
+ assert_eq!(Ijiraq::id(), 622i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_622() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ijiraq::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_622() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ijiraq::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_622() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ijiraq::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_622() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ijiraq::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_623() {
+ assert_eq!(Suttungr::id(), 623i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_623() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Suttungr::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_623() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Suttungr::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_623() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Suttungr::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_623() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Suttungr::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_624() {
+ assert_eq!(Kiviuq::id(), 624i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_624() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kiviuq::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_624() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kiviuq::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_624() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kiviuq::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_624() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kiviuq::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_625() {
+ assert_eq!(Mundilfari::id(), 625i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_625() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Mundilfari::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_625() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mundilfari::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_625() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mundilfari::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_625() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mundilfari::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_626() {
+ assert_eq!(Albiorix::id(), 626i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_626() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Albiorix::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_626() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Albiorix::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_626() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Albiorix::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_626() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Albiorix::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_627() {
+ assert_eq!(Skathi::id(), 627i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_627() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Skathi::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_627() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Skathi::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_627() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Skathi::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_627() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Skathi::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_628() {
+ assert_eq!(Erriapus::id(), 628i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_628() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Erriapus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_628() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Erriapus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_628() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Erriapus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_628() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Erriapus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_629() {
+ assert_eq!(Siarnaq::id(), 629i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_629() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Siarnaq::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_629() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Siarnaq::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_629() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Siarnaq::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_629() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Siarnaq::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_630() {
+ assert_eq!(Thrymr::id(), 630i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_630() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Thrymr::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_630() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thrymr::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_630() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thrymr::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_630() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Thrymr::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_631() {
+ assert_eq!(Narvi::id(), 631i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_631() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Narvi::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_631() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Narvi::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_631() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Narvi::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_631() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Narvi::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_632() {
+ assert_eq!(Methone::id(), 632i32)
+ }
+ #[test]
+ fn test_tri_axial_632() {
+ assert_eq!(Methone::polar_radius(), 1.21f64);
+ assert_eq!(Methone::mean_radius(), 1.4799999999999998f64);
+ assert_eq!(Methone::subplanetary_radius(), 1.94f64);
+ assert_eq!(Methone::along_orbit_radius(), 1.29f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_632() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Methone::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_632() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Methone::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_632() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Methone::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_632() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Methone::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_633() {
+ assert_eq!(Pallene::id(), 633i32)
+ }
+ #[test]
+ fn test_tri_axial_633() {
+ assert_eq!(Pallene::polar_radius(), 1.8f64);
+ assert_eq!(Pallene::mean_radius(), 2.2533333333333334f64);
+ assert_eq!(Pallene::subplanetary_radius(), 2.88f64);
+ assert_eq!(Pallene::along_orbit_radius(), 2.08f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_633() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Pallene::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_633() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pallene::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_633() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pallene::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_633() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Pallene::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_634() {
+ assert_eq!(Polydeuces::id(), 634i32)
+ }
+ #[test]
+ fn test_tri_axial_634() {
+ assert_eq!(Polydeuces::polar_radius(), 1f64);
+ assert_eq!(Polydeuces::mean_radius(), 1.2333333333333334f64);
+ assert_eq!(Polydeuces::subplanetary_radius(), 1.5f64);
+ assert_eq!(Polydeuces::along_orbit_radius(), 1.2f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_634() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Polydeuces::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_634() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Polydeuces::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_634() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Polydeuces::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_634() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Polydeuces::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_635() {
+ assert_eq!(Daphnis::id(), 635i32)
+ }
+ #[test]
+ fn test_tri_axial_635() {
+ assert_eq!(Daphnis::polar_radius(), 2.8f64);
+ assert_eq!(Daphnis::mean_radius(), 3.9666666666666663f64);
+ assert_eq!(Daphnis::subplanetary_radius(), 4.6f64);
+ assert_eq!(Daphnis::along_orbit_radius(), 4.5f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_635() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Daphnis::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_635() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Daphnis::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_635() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Daphnis::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_635() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Daphnis::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_636() {
+ assert_eq!(Aegir::id(), 636i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_636() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Aegir::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_636() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aegir::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_636() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aegir::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_636() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aegir::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_637() {
+ assert_eq!(Bebhionn::id(), 637i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_637() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Bebhionn::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_637() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bebhionn::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_637() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bebhionn::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_637() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bebhionn::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_638() {
+ assert_eq!(Bergelmir::id(), 638i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_638() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Bergelmir::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_638() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bergelmir::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_638() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bergelmir::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_638() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bergelmir::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_639() {
+ assert_eq!(Bestla::id(), 639i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_639() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Bestla::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_639() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bestla::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_639() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bestla::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_639() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Bestla::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_640() {
+ assert_eq!(Farbauti::id(), 640i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_640() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Farbauti::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_640() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Farbauti::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_640() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Farbauti::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_640() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Farbauti::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_641() {
+ assert_eq!(Fenrir::id(), 641i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_641() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Fenrir::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_641() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Fenrir::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_641() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Fenrir::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_641() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Fenrir::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
fn test_naif_id_642() {
assert_eq!(Fornjot::id(), 642i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_642() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Fornjot::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_642() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Fornjot::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_642() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Fornjot::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_642() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Fornjot::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_643() {
assert_eq!(Hati::id(), 643i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_643() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Hati::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_643() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hati::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_643() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hati::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_643() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hati::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_644() {
assert_eq!(Hyrrokkin::id(), 644i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_644() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Hyrrokkin::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_644() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hyrrokkin::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_644() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hyrrokkin::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_644() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hyrrokkin::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_645() {
assert_eq!(Kari::id(), 645i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_645() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kari::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_645() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kari::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_645() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kari::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_645() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kari::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_646() {
assert_eq!(Loge::id(), 646i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_646() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Loge::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_646() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Loge::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_646() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Loge::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_646() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Loge::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_647() {
assert_eq!(Skoll::id(), 647i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_647() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Skoll::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_647() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Skoll::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_647() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Skoll::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_647() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Skoll::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_648() {
assert_eq!(Surtur::id(), 648i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_648() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Surtur::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_648() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Surtur::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_648() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Surtur::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_648() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Surtur::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_649() {
assert_eq!(Anthe::id(), 649i32)
}
@@ -3186,18 +10370,130 @@ mod tests {
assert_eq!(Anthe::along_orbit_radius(), 0.5f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_649() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Anthe::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_649() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Anthe::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_649() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Anthe::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_649() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Anthe::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_650() {
assert_eq!(Jarnsaxa::id(), 650i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_650() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Jarnsaxa::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_650() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Jarnsaxa::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_650() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Jarnsaxa::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_650() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Jarnsaxa::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_651() {
assert_eq!(Greip::id(), 651i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_651() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Greip::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_651() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Greip::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_651() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Greip::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_651() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Greip::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_652() {
assert_eq!(Tarqeq::id(), 652i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_652() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Tarqeq::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_652() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Tarqeq::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_652() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Tarqeq::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_652() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Tarqeq::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_653() {
assert_eq!(Aegaeon::id(), 653i32)
}
@@ -3209,6 +10505,34 @@ mod tests {
assert_eq!(Aegaeon::along_orbit_radius(), 0.25f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_653() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Aegaeon::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_653() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aegaeon::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_653() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aegaeon::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_653() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Aegaeon::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_701() {
assert_eq!(Ariel::id(), 701i32)
}
@@ -3224,6 +10548,91 @@ mod tests {
assert_eq!(Ariel::along_orbit_radius(), 577.9f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_701() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ariel::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_701() {
+ assert_eq!(
+ (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.005061454830783556f64
+ ] as &[f64]
+ ),
+ Ariel::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_701() {
+ assert_eq!(
+ (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004886921905584123f64
+ ] as &[f64]
+ ),
+ Ariel::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_701() {
+ assert_eq!(
+ (
+ 2.7265533574655416f64,
+ -2.492952697630833f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0008726646259971648f64,
+ 0.0013962634015954637f64
+ ] as &[f64]
+ ),
+ Ariel::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_702() {
assert_eq!(Umbriel::id(), 702i32)
}
@@ -3239,6 +10648,94 @@ mod tests {
assert_eq!(Umbriel::along_orbit_radius(), 584.7f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_702() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Umbriel::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_702() {
+ assert_eq!(
+ (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.003665191429188092f64
+ ] as &[f64]
+ ),
+ Umbriel::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_702() {
+ assert_eq!(
+ (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.003490658503988659f64
+ ] as &[f64]
+ ),
+ Umbriel::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_702() {
+ assert_eq!(
+ (
+ 1.885828256779873f64,
+ -1.5161481881953498f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0.0010471975511965976f64
+ ] as &[f64]
+ ),
+ Umbriel::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_703() {
assert_eq!(Titania::id(), 703i32)
}
@@ -3254,6 +10751,97 @@ mod tests {
assert_eq!(Titania::along_orbit_radius(), 788.9f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_703() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Titania::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_703() {
+ assert_eq!(
+ (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.005061454830783556f64
+ ] as &[f64]
+ ),
+ Titania::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_703() {
+ assert_eq!(
+ (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004886921905584123f64
+ ] as &[f64]
+ ),
+ Titania::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_703() {
+ assert_eq!(
+ (
+ 1.3568189605003917f64,
+ -0.7217186318332268f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0013962634015954637f64
+ ] as &[f64]
+ ),
+ Titania::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_704() {
assert_eq!(Oberon::id(), 704i32)
}
@@ -3269,6 +10857,100 @@ mod tests {
assert_eq!(Oberon::along_orbit_radius(), 761.4f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_704() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Oberon::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_704() {
+ assert_eq!(
+ (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64
+ ] as &[f64]
+ ),
+ Oberon::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_704() {
+ assert_eq!(
+ (
+ -0.26354471705114374f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64
+ ] as &[f64]
+ ),
+ Oberon::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_704() {
+ assert_eq!(
+ (
+ 0.1181587903600161f64,
+ -0.4666921966546346f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64
+ ] as &[f64]
+ ),
+ Oberon::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_705() {
assert_eq!(Miranda::id(), 705i32)
}
@@ -3284,6 +10966,106 @@ mod tests {
assert_eq!(Miranda::along_orbit_radius(), 234.2f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_705() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Miranda::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_705() {
+ assert_eq!(
+ (
+ 4.493001093409003f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.07696902001294993f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Miranda::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_705() {
+ assert_eq!(
+ (
+ -0.2631956512007449f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.07417649320975901f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00034906585039886593f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Miranda::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_705() {
+ assert_eq!(
+ (
+ 0.5358160803622591f64,
+ -4.445191100713563f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.02007128639793479f64,
+ -0.022165681500327987f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0.002617993877991494f64
+ ] as &[f64]
+ ),
+ Miranda::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_706() {
assert_eq!(Cordelia::id(), 706i32)
}
@@ -3295,6 +11077,106 @@ mod tests {
assert_eq!(Cordelia::along_orbit_radius(), 13f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_706() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Cordelia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_706() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.002617993877991494f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Cordelia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_706() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.0024434609527920616f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Cordelia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_706() {
+ assert_eq!(
+ (
+ 2.2286109218715593f64,
+ -18.753921879266084f64,
+ 0f64,
+ &[
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Cordelia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_707() {
assert_eq!(Ophelia::id(), 707i32)
}
@@ -3306,6 +11188,106 @@ mod tests {
assert_eq!(Ophelia::along_orbit_radius(), 15f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_707() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ophelia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_707() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Ophelia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_707() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Ophelia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_707() {
+ assert_eq!(
+ (
+ 2.2750366799746087f64,
+ -16.692447910262292f64,
+ 0f64,
+ &[
+ 0f64,
+ -0.0005235987755982988f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Ophelia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_708() {
assert_eq!(Bianca::id(), 708i32)
}
@@ -3317,6 +11299,106 @@ mod tests {
assert_eq!(Bianca::along_orbit_radius(), 21f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_708() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Bianca::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_708() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.0027925268031909274f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Bianca::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_708() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Bianca::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_708() {
+ assert_eq!(
+ (
+ 1.8406242291532198f64,
+ -14.458158751655587f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Bianca::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_709() {
assert_eq!(Cressida::id(), 709i32)
}
@@ -3328,6 +11410,106 @@ mod tests {
assert_eq!(Cressida::along_orbit_radius(), 31f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_709() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Cressida::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_709() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Cressida::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_709() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Cressida::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_709() {
+ assert_eq!(
+ (
+ 1.0325367854798453f64,
+ -13.553906388910956f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00017453292519943296f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Cressida::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_710() {
assert_eq!(Desdemona::id(), 710i32)
}
@@ -3339,6 +11521,106 @@ mod tests {
assert_eq!(Desdemona::along_orbit_radius(), 27f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_710() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Desdemona::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_710() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0029670597283903604f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Desdemona::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_710() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0027925268031909274f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Desdemona::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_710() {
+ assert_eq!(
+ (
+ 1.6594590527962085f64,
+ -13.265430289266899f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Desdemona::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_711() {
assert_eq!(Juliet::id(), 711i32)
}
@@ -3350,6 +11632,106 @@ mod tests {
assert_eq!(Juliet::along_orbit_radius(), 42f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_711() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Juliet::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_711() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0010471975511965976f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Juliet::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_711() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0010471975511965976f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Juliet::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_711() {
+ assert_eq!(
+ (
+ 5.2806681848340435f64,
+ -12.74309158902866f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00034906585039886593f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Juliet::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_712() {
assert_eq!(Portia::id(), 712i32)
}
@@ -3361,85 +11743,821 @@ mod tests {
assert_eq!(Portia::along_orbit_radius(), 54f64);
}
#[test]
- fn test_naif_id_713() {
- assert_eq!(Rosalind::id(), 713i32)
+ fn test_rotational_elements_nutation_precession_coefficients_712() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Portia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_712() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Portia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_712() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Portia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_712() {
+ assert_eq!(
+ (
+ 0.4368559117741807f64,
+ -12.243250601727652f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00034906585039886593f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Portia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_713() {
+ assert_eq!(Rosalind::id(), 713i32)
+ }
+ #[test]
+ fn test_tri_axial_713() {
+ assert_eq!(Rosalind::polar_radius(), 27f64);
+ assert_eq!(Rosalind::mean_radius(), 27f64);
+ assert_eq!(Rosalind::subplanetary_radius(), 27f64);
+ assert_eq!(Rosalind::along_orbit_radius(), 27f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_713() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Rosalind::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_713() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.005061454830783556f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Rosalind::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_713() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004886921905584123f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Rosalind::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_713() {
+ assert_eq!(
+ (
+ 5.496041814530144f64,
+ -11.250935609538423f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0013962634015954637f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Rosalind::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_714() {
+ assert_eq!(Belinda::id(), 714i32)
+ }
+ #[test]
+ fn test_tri_axial_714() {
+ assert_eq!(Belinda::polar_radius(), 33f64);
+ assert_eq!(Belinda::mean_radius(), 33f64);
+ assert_eq!(Belinda::subplanetary_radius(), 33f64);
+ assert_eq!(Belinda::along_orbit_radius(), 33f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_714() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Belinda::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_714() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0005235987755982988f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Belinda::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_714() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0005235987755982988f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Belinda::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_714() {
+ assert_eq!(
+ (
+ 5.191656392982332f64,
+ -10.076882135239488f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00017453292519943296f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Belinda::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_715() {
+ assert_eq!(Puck::id(), 715i32)
+ }
+ #[test]
+ fn test_tri_axial_715() {
+ assert_eq!(Puck::polar_radius(), 77f64);
+ assert_eq!(Puck::mean_radius(), 77f64);
+ assert_eq!(Puck::subplanetary_radius(), 77f64);
+ assert_eq!(Puck::along_orbit_radius(), 77f64);
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_715() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Puck::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_715() {
+ assert_eq!(
+ (
+ 4.49090669830661f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.005759586531581287f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Puck::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_715() {
+ assert_eq!(
+ (
+ -0.2649409804527392f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0054105206811824215f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Puck::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_715() {
+ assert_eq!(
+ (
+ 1.5924384095196262f64,
+ -8.247467318113788f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Puck::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_716() {
+ assert_eq!(Caliban::id(), 716i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_716() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Caliban::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_716() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Caliban::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_716() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Caliban::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_716() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Caliban::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_717() {
+ assert_eq!(Sycorax::id(), 717i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_717() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Sycorax::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_717() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sycorax::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_717() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sycorax::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_717() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sycorax::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_718() {
+ assert_eq!(Prospero::id(), 718i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_718() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Prospero::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_718() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Prospero::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_718() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Prospero::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_718() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Prospero::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_719() {
+ assert_eq!(Setebos::id(), 719i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_719() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Setebos::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_719() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Setebos::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_719() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Setebos::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_719() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Setebos::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_720() {
+ assert_eq!(Stephano::id(), 720i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_720() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Stephano::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_720() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Stephano::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_720() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Stephano::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_720() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Stephano::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_721() {
+ assert_eq!(Trinculo::id(), 721i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_721() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Trinculo::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_721() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Trinculo::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_721() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Trinculo::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_721() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Trinculo::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_722() {
+ assert_eq!(Francisco::id(), 722i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_722() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Francisco::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_722() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Francisco::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_722() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Francisco::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_722() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Francisco::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_723() {
+ assert_eq!(Margaret::id(), 723i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_723() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Margaret::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_723() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Margaret::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_723() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Margaret::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_723() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Margaret::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_naif_id_724() {
+ assert_eq!(Ferdinand::id(), 724i32)
+ }
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_724() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Ferdinand::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_724() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ferdinand::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_713() {
- assert_eq!(Rosalind::polar_radius(), 27f64);
- assert_eq!(Rosalind::mean_radius(), 27f64);
- assert_eq!(Rosalind::subplanetary_radius(), 27f64);
- assert_eq!(Rosalind::along_orbit_radius(), 27f64);
+ fn test_rotational_elements_declination_coefficients_724() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ferdinand::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_714() {
- assert_eq!(Belinda::id(), 714i32)
+ fn test_rotational_elements_prime_meridian_coefficients_724() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Ferdinand::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_714() {
- assert_eq!(Belinda::polar_radius(), 33f64);
- assert_eq!(Belinda::mean_radius(), 33f64);
- assert_eq!(Belinda::subplanetary_radius(), 33f64);
- assert_eq!(Belinda::along_orbit_radius(), 33f64);
+ fn test_naif_id_725() {
+ assert_eq!(Perdita::id(), 725i32)
}
#[test]
- fn test_naif_id_715() {
- assert_eq!(Puck::id(), 715i32)
+ fn test_rotational_elements_nutation_precession_coefficients_725() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Perdita::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_tri_axial_715() {
- assert_eq!(Puck::polar_radius(), 77f64);
- assert_eq!(Puck::mean_radius(), 77f64);
- assert_eq!(Puck::subplanetary_radius(), 77f64);
- assert_eq!(Puck::along_orbit_radius(), 77f64);
+ fn test_rotational_elements_right_ascension_coefficients_725() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Perdita::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_716() {
- assert_eq!(Caliban::id(), 716i32)
+ fn test_rotational_elements_declination_coefficients_725() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Perdita::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_717() {
- assert_eq!(Sycorax::id(), 717i32)
+ fn test_rotational_elements_prime_meridian_coefficients_725() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Perdita::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_718() {
- assert_eq!(Prospero::id(), 718i32)
+ fn test_naif_id_726() {
+ assert_eq!(Mab::id(), 726i32)
}
#[test]
- fn test_naif_id_719() {
- assert_eq!(Setebos::id(), 719i32)
+ fn test_rotational_elements_nutation_precession_coefficients_726() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Mab::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_720() {
- assert_eq!(Stephano::id(), 720i32)
+ fn test_rotational_elements_right_ascension_coefficients_726() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mab::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_721() {
- assert_eq!(Trinculo::id(), 721i32)
+ fn test_rotational_elements_declination_coefficients_726() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mab::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_722() {
- assert_eq!(Francisco::id(), 722i32)
+ fn test_rotational_elements_prime_meridian_coefficients_726() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Mab::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_723() {
- assert_eq!(Margaret::id(), 723i32)
+ fn test_naif_id_727() {
+ assert_eq!(Cupid::id(), 727i32)
}
#[test]
- fn test_naif_id_724() {
- assert_eq!(Ferdinand::id(), 724i32)
+ fn test_rotational_elements_nutation_precession_coefficients_727() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Cupid::NUTATION_PRECESSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_725() {
- assert_eq!(Perdita::id(), 725i32)
+ fn test_rotational_elements_right_ascension_coefficients_727() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Cupid::RIGHT_ASCENSION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_726() {
- assert_eq!(Mab::id(), 726i32)
+ fn test_rotational_elements_declination_coefficients_727() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Cupid::DECLINATION_COEFFICIENTS
+ )
}
#[test]
- fn test_naif_id_727() {
- assert_eq!(Cupid::id(), 727i32)
+ fn test_rotational_elements_prime_meridian_coefficients_727() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Cupid::PRIME_MERIDIAN_COEFFICIENTS
+ )
}
#[test]
fn test_naif_id_801() {
@@ -3457,6 +12575,103 @@ mod tests {
assert_eq!(Triton::along_orbit_radius(), 1352.6f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_801() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Triton::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_801() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.5646140130201657f64,
+ 0f64,
+ -0.1096066770252439f64,
+ -0.03630284844148206f64,
+ -0.012915436464758038f64,
+ -0.004886921905584123f64,
+ -0.0019198621771937625f64,
+ -0.0012217304763960308f64,
+ -0.00034906585039886593f64,
+ -0.00017453292519943296f64
+ ] as &[f64]
+ ),
+ Triton::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_801() {
+ assert_eq!(
+ (
+ 0.7185520530460655f64,
+ 0f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.3935717463247213f64,
+ 0f64,
+ 0.03665191429188092f64,
+ 0.009599310885968814f64,
+ 0.0027925268031909274f64,
+ 0.0008726646259971648f64,
+ 0.00034906585039886593f64,
+ 0.00017453292519943296f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Triton::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_801() {
+ assert_eq!(
+ (
+ 5.175424830938785f64,
+ -1.069140942327404f64,
+ 0f64,
+ &[
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.3883357585687383f64,
+ 0f64,
+ 0.11746065865921838f64,
+ 0.03577924966588375f64,
+ 0.012915436464758038f64,
+ 0.004886921905584123f64,
+ 0.0019198621771937625f64,
+ 0.0008726646259971648f64,
+ 0.00034906585039886593f64,
+ 0.00017453292519943296f64
+ ] as &[f64]
+ ),
+ Triton::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_802() {
assert_eq!(Nereid::id(), 802i32)
}
@@ -3468,6 +12683,34 @@ mod tests {
assert_eq!(Nereid::along_orbit_radius(), 170f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_802() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Nereid::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_802() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Nereid::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_802() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Nereid::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_802() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Nereid::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_803() {
assert_eq!(Naiad::id(), 803i32)
}
@@ -3483,6 +12726,103 @@ mod tests {
assert_eq!(Naiad::along_orbit_radius(), 29f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_803() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Naiad::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_803() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ -0.11327186845443199f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.004363323129985824f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Naiad::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_803() {
+ assert_eq!(
+ (
+ 0.7567747636647413f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ -0.08290313946973066f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Naiad::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_803() {
+ assert_eq!(
+ (
+ 4.434183497616794f64,
+ 21.342656148360604f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0.07679448708775051f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00471238898038469f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Naiad::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_804() {
assert_eq!(Thalassa::id(), 804i32)
}
@@ -3498,6 +12838,103 @@ mod tests {
assert_eq!(Thalassa::along_orbit_radius(), 40f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_804() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Thalassa::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_804() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ -0.004886921905584123f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Thalassa::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_804() {
+ assert_eq!(
+ (
+ 0.7583455599915362f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ -0.003665191429188092f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Thalassa::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_804() {
+ assert_eq!(
+ (
+ 1.7812830345854127f64,
+ 20.171739891174827f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0.0033161255787892262f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Thalassa::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_805() {
assert_eq!(Despina::id(), 805i32)
}
@@ -3513,6 +12950,103 @@ mod tests {
assert_eq!(Despina::along_orbit_radius(), 74f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_805() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Despina::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_805() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ -0.0015707963267948964f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Despina::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_805() {
+ assert_eq!(
+ (
+ 0.7583455599915362f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ -0.0012217304763960308f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Despina::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_805() {
+ assert_eq!(
+ (
+ 5.34960869028782f64,
+ 18.77510290185297f64,
+ 0f64,
+ &[
+ -0.008552113334772215f64,
+ 0f64,
+ 0f64,
+ 0.0010471975511965976f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Despina::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_806() {
assert_eq!(Galatea::id(), 806i32)
}
@@ -3528,6 +13062,103 @@ mod tests {
assert_eq!(Galatea::along_orbit_radius(), 79f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_806() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Galatea::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_806() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0012217304763960308f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Galatea::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_806() {
+ assert_eq!(
+ (
+ 0.7579964941411373f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0008726646259971648f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Galatea::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_806() {
+ assert_eq!(
+ (
+ 4.504520266472165f64,
+ 14.6548275586037f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0008726646259971648f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Galatea::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_807() {
assert_eq!(Larissa::id(), 807i32)
}
@@ -3543,6 +13174,103 @@ mod tests {
assert_eq!(Larissa::along_orbit_radius(), 96f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_807() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Larissa::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_807() {
+ assert_eq!(
+ (
+ 5.224817648770225f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.00471238898038469f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Larissa::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_807() {
+ assert_eq!(
+ (
+ 0.7576474282907384f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.003490658503988659f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Larissa::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_807() {
+ assert_eq!(
+ (
+ 3.1312952110030268f64,
+ 11.328119671568512f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0033161255787892262f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Larissa::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_808() {
assert_eq!(Proteus::id(), 808i32)
}
@@ -3558,26 +13286,263 @@ mod tests {
assert_eq!(Proteus::along_orbit_radius(), 208f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_808() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Proteus::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_808() {
+ assert_eq!(
+ (
+ 5.22324685244343f64,
+ 0f64,
+ 0f64,
+ &[
+ 0.012217304763960306f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0008726646259971648f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Proteus::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_808() {
+ assert_eq!(
+ (
+ 0.7489207820307667f64,
+ 0f64,
+ 0f64,
+ &[
+ -0.00890117918517108f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ -0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Proteus::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_808() {
+ assert_eq!(
+ (
+ 1.6297884555123048f64,
+ 5.598412754411688f64,
+ 0f64,
+ &[
+ -0.008377580409572781f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0.0006981317007977319f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64,
+ 0f64
+ ] as &[f64]
+ ),
+ Proteus::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_809() {
assert_eq!(Halimede::id(), 809i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_809() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Halimede::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_809() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Halimede::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_809() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Halimede::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_809() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Halimede::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_810() {
assert_eq!(Psamathe::id(), 810i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_810() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Psamathe::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_810() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Psamathe::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_810() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Psamathe::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_810() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Psamathe::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_811() {
assert_eq!(Sao::id(), 811i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_811() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Sao::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_811() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sao::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_811() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sao::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_811() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Sao::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_812() {
assert_eq!(Laomedeia::id(), 812i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_812() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Laomedeia::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_812() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Laomedeia::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_812() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Laomedeia::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_812() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Laomedeia::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_813() {
assert_eq!(Neso::id(), 813i32)
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_813() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Neso::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_813() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Neso::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_813() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Neso::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_813() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Neso::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_901() {
assert_eq!(Charon::id(), 901i32)
}
@@ -3593,6 +13558,39 @@ mod tests {
assert_eq!(Charon::along_orbit_radius(), 606f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_901() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Charon::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_901() {
+ assert_eq!(
+ (2.3211657321048187f64, 0f64, 0f64, &[] as &[f64]),
+ Charon::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_901() {
+ assert_eq!(
+ (-0.10756464180041053f64, 0f64, 0f64, &[] as &[f64]),
+ Charon::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_901() {
+ assert_eq!(
+ (
+ 2.1414317257344426f64,
+ 0.9837115923543857f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Charon::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_902() {
assert_eq!(Nix::id(), 902i32)
}
@@ -3601,6 +13599,34 @@ mod tests {
assert_eq!(Nix::gravitational_parameter(), 0.00304817564816976f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_902() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Nix::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_902() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Nix::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_902() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Nix::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_902() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Nix::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_903() {
assert_eq!(Hydra::id(), 903i32)
}
@@ -3609,6 +13635,34 @@ mod tests {
assert_eq!(Hydra::gravitational_parameter(), 0.003211039206155255f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_903() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Hydra::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_903() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hydra::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_903() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hydra::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_903() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Hydra::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_904() {
assert_eq!(Kerberos::id(), 904i32)
}
@@ -3617,6 +13671,34 @@ mod tests {
assert_eq!(Kerberos::gravitational_parameter(), 0.001110040850536676f64);
}
#[test]
+ fn test_rotational_elements_nutation_precession_coefficients_904() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Kerberos::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_904() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kerberos::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_904() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kerberos::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_904() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Kerberos::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
+ #[test]
fn test_naif_id_905() {
assert_eq!(Styx::id(), 905i32)
}
@@ -3624,4 +13706,32 @@ mod tests {
fn test_point_mass_905() {
assert_eq!(Styx::gravitational_parameter(), 0f64);
}
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_905() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Styx::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_905() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Styx::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_905() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Styx::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_905() {
+ assert_eq!(
+ (0f64, 0f64, 0f64, &[] as &[f64]),
+ Styx::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
}
diff --git a/crates/lox_core/src/bodies/sun.rs b/crates/lox_core/src/bodies/sun.rs
index 5943bafe..8e029172 100644
--- a/crates/lox_core/src/bodies/sun.rs
+++ b/crates/lox_core/src/bodies/sun.rs
@@ -8,7 +8,10 @@
// Auto-generated by `lox_gen`. Do not edit!
-use super::{Ellipsoid, NaifId, PointMass, Spheroid};
+use super::{
+ Ellipsoid, NaifId, NutationPrecessionCoefficients, PointMass, PolynomialCoefficients,
+ RotationalElements, Spheroid,
+};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Sun;
impl NaifId for Sun {
@@ -34,7 +37,23 @@ impl Spheroid for Sun {
695700f64
}
}
+#[allow(clippy::approx_constant)]
+impl RotationalElements for Sun {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients =
+ (&[] as &[f64], &[] as &[f64]);
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients =
+ (4.993910588731375f64, 0f64, 0f64, &[] as &[f64]);
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients =
+ (1.1147417932487782f64, 0f64, 0f64, &[] as &[f64]);
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = (
+ 1.4691483511587469f64,
+ 0.24756448241988369f64,
+ 0f64,
+ &[] as &[f64],
+ );
+}
#[cfg(test)]
+#[allow(clippy::approx_constant)]
mod tests {
use super::*;
#[test]
@@ -51,4 +70,37 @@ mod tests {
assert_eq!(Sun::mean_radius(), 695700f64);
assert_eq!(Sun::equatorial_radius(), 695700f64);
}
+ #[test]
+ fn test_rotational_elements_nutation_precession_coefficients_10() {
+ assert_eq!(
+ (&[] as &[f64], &[] as &[f64]),
+ Sun::NUTATION_PRECESSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_right_ascension_coefficients_10() {
+ assert_eq!(
+ (4.993910588731375f64, 0f64, 0f64, &[] as &[f64]),
+ Sun::RIGHT_ASCENSION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_declination_coefficients_10() {
+ assert_eq!(
+ (1.1147417932487782f64, 0f64, 0f64, &[] as &[f64]),
+ Sun::DECLINATION_COEFFICIENTS
+ )
+ }
+ #[test]
+ fn test_rotational_elements_prime_meridian_coefficients_10() {
+ assert_eq!(
+ (
+ 1.4691483511587469f64,
+ 0.24756448241988369f64,
+ 0f64,
+ &[] as &[f64]
+ ),
+ Sun::PRIME_MERIDIAN_COEFFICIENTS
+ )
+ }
}
diff --git a/tools/lox_gen/Cargo.lock b/tools/lox_gen/Cargo.lock
index 469394dd..50481e98 100644
--- a/tools/lox_gen/Cargo.lock
+++ b/tools/lox_gen/Cargo.lock
@@ -2,13 +2,43 @@
# It is not intended for manual editing.
version = 3
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "float_eq"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28a80e3145d8ad11ba0995949bbcf48b9df2be62772b3d351ef017dff6ecb853"
+
+[[package]]
+name = "glam"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
+
+[[package]]
+name = "lox_core"
+version = "0.1.0"
+dependencies = [
+ "float_eq",
+ "glam",
+ "num",
+ "thiserror",
+]
+
[[package]]
name = "lox_gen"
version = "0.1.0"
dependencies = [
+ "lox_core",
"lox_io",
"proc-macro2",
"quote",
+ "thiserror",
]
[[package]]
@@ -40,22 +70,129 @@ dependencies = [
"minimal-lexical",
]
+[[package]]
+name = "num"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
[[package]]
name = "proc-macro2"
-version = "1.0.52"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
-version = "1.0.26"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
diff --git a/tools/lox_gen/Cargo.toml b/tools/lox_gen/Cargo.toml
index b584c3da..72c9b9d4 100644
--- a/tools/lox_gen/Cargo.toml
+++ b/tools/lox_gen/Cargo.toml
@@ -9,3 +9,5 @@ edition = "2021"
proc-macro2 = "1.0"
quote = "1.0"
lox_io = { path = "../../crates/lox_io" }
+lox_core = { path = "../../crates/lox_core" }
+thiserror = "1.0.50"
diff --git a/tools/lox_gen/src/main.rs b/tools/lox_gen/src/main.rs
index 62f1dc24..8b4f787c 100644
--- a/tools/lox_gen/src/main.rs
+++ b/tools/lox_gen/src/main.rs
@@ -6,6 +6,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+use std::collections::HashSet;
use std::fs;
use std::path::Path;
use std::process::Command;
@@ -16,10 +17,13 @@ use quote::{format_ident, quote};
use lox_io::spice::Kernel;
use naif_ids::{Body, BARYCENTERS, MINOR_BODIES, PLANETS, SATELLITES, SUN};
+use crate::rotational_elements::{CoefficientKernel, RotationalElements};
+
mod naif_ids;
+mod rotational_elements;
type Generator = fn(
- imports: &mut Vec,
+ imports: &mut HashSet,
code: &mut TokenStream,
tests: &mut TokenStream,
ident: &Ident,
@@ -39,7 +43,11 @@ pub fn main() {
.expect("parsing should succeed");
let data = Data { pck, gm };
let bodies: [(&str, Vec, Vec); 5] = [
- ("sun", Vec::from(SUN), vec![naif_id, point_mass, spheroid]),
+ (
+ "sun",
+ Vec::from(SUN),
+ vec![naif_id, point_mass, spheroid, rotational_elements],
+ ),
(
"barycenters",
Vec::from(BARYCENTERS),
@@ -48,17 +56,17 @@ pub fn main() {
(
"planets",
Vec::from(PLANETS),
- vec![naif_id, point_mass, spheroid],
+ vec![naif_id, point_mass, spheroid, rotational_elements],
),
(
"satellites",
Vec::from(SATELLITES),
- vec![naif_id, point_mass, tri_axial],
+ vec![naif_id, point_mass, tri_axial, rotational_elements],
),
(
"minor",
Vec::from(MINOR_BODIES),
- vec![naif_id, point_mass, tri_axial],
+ vec![naif_id, point_mass, tri_axial, rotational_elements],
),
];
bodies
@@ -91,7 +99,7 @@ fn write_file(file: &str, bodies: &[Body], generators: &[Generator], data: &Data
}
fn generate_code(bodies: &[Body], generators: &[Generator], data: &Data) -> String {
- let mut imports: Vec = Vec::new();
+ let mut imports: HashSet = HashSet::new();
let mut code = quote!();
let mut tests = quote!();
@@ -107,12 +115,14 @@ fn generate_code(bodies: &[Body], generators: &[Generator], data: &Data) -> Stri
.for_each(|generator| generator(&mut imports, &mut code, &mut tests, &ident, id, data))
});
+ let imports_iter = imports.iter();
let module = quote! {
- use super::{#(#imports),*};
+ use super::{#(#imports_iter),*};
#code
#[cfg(test)]
+ #[allow(clippy::approx_constant)] // at least one parsed constant is close to TAU
mod tests {
use super::*;
@@ -123,18 +133,14 @@ fn generate_code(bodies: &[Body], generators: &[Generator], data: &Data) -> Stri
}
fn naif_id(
- imports: &mut Vec,
+ imports: &mut HashSet,
code: &mut TokenStream,
tests: &mut TokenStream,
ident: &Ident,
id: &i32,
_data: &Data,
) {
- let trait_name = format_ident!("NaifId");
-
- if !imports.contains(&trait_name) {
- imports.push(trait_name);
- }
+ imports.insert(format_ident!("NaifId"));
*code = quote! {
#code
@@ -159,22 +165,14 @@ fn naif_id(
}
fn spheroid(
- imports: &mut Vec,
+ imports: &mut HashSet,
code: &mut TokenStream,
tests: &mut TokenStream,
ident: &Ident,
id: &i32,
data: &Data,
) {
- let trait_name = format_ident!("Ellipsoid");
- if !imports.contains(&trait_name) {
- imports.push(trait_name);
- }
-
- let trait_name = format_ident!("Spheroid");
- if !imports.contains(&trait_name) {
- imports.push(trait_name);
- }
+ imports.extend([format_ident!("Ellipsoid"), format_ident!("Spheroid")]);
let radii = format!("BODY{id}_RADII");
if let Some(radii) = data.pck.get_double_array(&radii) {
@@ -217,22 +215,14 @@ fn spheroid(
}
fn tri_axial(
- imports: &mut Vec,
+ imports: &mut HashSet,
code: &mut TokenStream,
tests: &mut TokenStream,
ident: &Ident,
id: &i32,
data: &Data,
) {
- let trait_name = format_ident!("Ellipsoid");
- if !imports.contains(&trait_name) {
- imports.push(trait_name);
- }
-
- let trait_name = format_ident!("TriAxial");
- if !imports.contains(&trait_name) {
- imports.push(trait_name);
- }
+ imports.extend([format_ident!("Ellipsoid"), format_ident!("TriAxial")]);
let radii = format!("BODY{id}_RADII");
if let Some(radii) = data.pck.get_double_array(&radii) {
@@ -280,17 +270,15 @@ fn tri_axial(
}
fn point_mass(
- imports: &mut Vec,
+ imports: &mut HashSet,
code: &mut TokenStream,
tests: &mut TokenStream,
ident: &Ident,
id: &i32,
data: &Data,
) {
- let trait_name = format_ident!("PointMass");
- if !imports.contains(&trait_name) {
- imports.push(trait_name);
- }
+ imports.insert(format_ident!("PointMass"));
+
let key = format!("BODY{id}_GM");
if let Some(gm) = data.gm.get_double_array(&key) {
let gm = gm.first().unwrap();
@@ -316,3 +304,27 @@ fn point_mass(
}
};
}
+
+/// Generates implementations for [lox_core::bodies::RotationalElements].
+fn rotational_elements(
+ imports: &mut HashSet,
+ code: &mut TokenStream,
+ tests: &mut TokenStream,
+ ident: &Ident,
+ id: &i32,
+ data: &Data,
+) {
+ let elements = match RotationalElements::parse(*id as u32, ident, CoefficientKernel(&data.pck))
+ {
+ Ok(elements) => elements,
+ Err(err) => panic!("failed to parse rotational elements for {}: {}", ident, err),
+ };
+
+ imports.extend([
+ format_ident!("RotationalElements"),
+ format_ident!("PolynomialCoefficients"),
+ format_ident!("NutationPrecessionCoefficients"),
+ ]);
+ code.extend(elements.code_tokens());
+ tests.extend(elements.test_tokens());
+}
diff --git a/tools/lox_gen/src/naif_ids.rs b/tools/lox_gen/src/naif_ids.rs
index 26cf4826..91ef5548 100644
--- a/tools/lox_gen/src/naif_ids.rs
+++ b/tools/lox_gen/src/naif_ids.rs
@@ -35,6 +35,10 @@ pub const PLANETS: [Body; 9] = [
(999, "Pluto"),
];
+pub fn is_planet(id: i32) -> bool {
+ PLANETS.iter().any(|(i, _)| *i == id)
+}
+
pub const SATELLITES: [Body; 152] = [
(301, "Moon"),
(401, "Phobos"),
diff --git a/tools/lox_gen/src/rotational_elements.rs b/tools/lox_gen/src/rotational_elements.rs
new file mode 100644
index 00000000..0cc6cc8b
--- /dev/null
+++ b/tools/lox_gen/src/rotational_elements.rs
@@ -0,0 +1,338 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+use proc_macro2::{Ident, TokenStream};
+use quote::{format_ident, quote, ToTokens};
+use thiserror::Error;
+
+use lox_io::spice::Kernel;
+
+use crate::naif_ids::is_planet;
+
+/// Converts [lox_core::bodies::PolynomialCoefficients] into a TokenStream.
+pub struct TokenizeablePolynomialCoefficients(f64, f64, f64, Vec);
+
+impl ToTokens for TokenizeablePolynomialCoefficients {
+ fn to_tokens(&self, tokens: &mut TokenStream) {
+ let Self(a, b, c, d) = self;
+ // The explicit type annotation is required to support the case of an empty slice.
+ tokens.extend(quote! { (#a, #b, #c, &[#(#d),*] as &[f64]) });
+ }
+}
+
+/// Converts [lox_core::bodies::NutationPrecessionCoefficients] into a TokenStream.
+#[derive(Default)]
+pub struct TokenizeableNutPrecCoefficients((Vec, Vec));
+
+impl ToTokens for TokenizeableNutPrecCoefficients {
+ fn to_tokens(&self, tokens: &mut TokenStream) {
+ let (a, b) = &self.0;
+ // The explicit type annotations are required to support the case of an empty slice.
+ tokens.extend(quote! { (&[#(#a),*] as &[f64], &[#(#b),*] as &[f64]) });
+ }
+}
+
+/// Holds the rotational elements for a given body.
+///
+/// May be parsed directly from PCK data and knows how to represent its code and test components as
+/// streams of tokens.
+///
+/// Wherever data is not available for a given body, the corresponding field will be empty.
+pub(crate) struct RotationalElements<'a> {
+ id: u32,
+ ident: &'a Ident,
+ right_ascension: TokenizeablePolynomialCoefficients,
+ declination: TokenizeablePolynomialCoefficients,
+ prime_meridian: TokenizeablePolynomialCoefficients,
+
+ /// barycenter_nut_prec_coefficients will be the type default for all bodies except the prime
+ /// bodies of their respective systems.
+ barycenter_nut_prec_coefficients: TokenizeableNutPrecCoefficients,
+}
+
+impl<'a> RotationalElements<'a> {
+ pub(crate) fn parse(
+ id: u32,
+ ident: &'a Ident,
+ kernel: impl GetPolynomialCoefficients,
+ ) -> Result> {
+ Ok(Self {
+ id,
+ ident,
+ right_ascension: kernel.get_right_ascension_coefficients_or_default(id)?,
+ declination: kernel.get_declination_coefficients_or_default(id)?,
+ prime_meridian: kernel.get_prime_meridian_coefficients_or_default(id)?,
+ barycenter_nut_prec_coefficients: kernel
+ .get_barycenter_nut_prec_coefficients_or_default(id)?,
+ })
+ }
+
+ /// Returns the TokenStream corresponding to the [lox_core::bodies::BodyRotationalElements] impl.
+ pub(crate) fn code_tokens(&self) -> TokenStream {
+ let ident = self.ident;
+ let barycenter_nut_prec = &self.barycenter_nut_prec_coefficients;
+ let right_ascension = &self.right_ascension;
+ let declination = &self.declination;
+ let prime_meridian = &self.prime_meridian;
+
+ quote! {
+ #[allow(clippy::approx_constant)]
+ impl RotationalElements for #ident {
+ const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = #barycenter_nut_prec;
+ const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = #right_ascension;
+ const DECLINATION_COEFFICIENTS: PolynomialCoefficients = #declination;
+ const PRIME_MERIDIAN_COEFFICIENTS: PolynomialCoefficients = #prime_meridian;
+ }
+ }
+ }
+
+ /// Returns the TokenStream testing the [lox_core::bodies::BodyRotationalElements] impl.
+ pub(crate) fn test_tokens(&self) -> TokenStream {
+ let ident = self.ident;
+ let barycenter_nut_prec = &self.barycenter_nut_prec_coefficients;
+ let right_ascension = &self.right_ascension;
+ let declination = &self.declination;
+ let prime_meridian = &self.prime_meridian;
+
+ let barycenter_nut_prec_test_name = format_ident!(
+ "test_rotational_elements_nutation_precession_coefficients_{}",
+ self.id
+ );
+
+ let right_ascension_test_name = format_ident!(
+ "test_rotational_elements_right_ascension_coefficients_{}",
+ self.id
+ );
+
+ let declination_test_name = format_ident!(
+ "test_rotational_elements_declination_coefficients_{}",
+ self.id
+ );
+
+ let prime_meridian_test_name = format_ident!(
+ "test_rotational_elements_prime_meridian_coefficients_{}",
+ self.id
+ );
+
+ quote! {
+ #[test]
+ fn #barycenter_nut_prec_test_name() {
+ assert_eq!(#barycenter_nut_prec, #ident::NUTATION_PRECESSION_COEFFICIENTS)
+ }
+
+ #[test]
+ fn #right_ascension_test_name() {
+ assert_eq!(#right_ascension, #ident::RIGHT_ASCENSION_COEFFICIENTS)
+ }
+
+ #[test]
+ fn #declination_test_name() {
+ assert_eq!(#declination, #ident::DECLINATION_COEFFICIENTS)
+ }
+
+ #[test]
+ fn #prime_meridian_test_name() {
+ assert_eq!(#prime_meridian, #ident::PRIME_MERIDIAN_COEFFICIENTS)
+ }
+ }
+ }
+}
+
+/// Indicates that a value retrieved from the kernel did not conform to the domain model.
+#[derive(Debug, Error)]
+pub enum CoefficientsError {
+ #[error("kernel coefficients with key {key} had size {actual}, expected at least {actual}")]
+ TooFew {
+ key: String,
+ min: usize,
+ actual: usize,
+ },
+ #[error("kernel coefficients with key {key} had size {actual}, expected at most {actual}")]
+ TooMany {
+ key: String,
+ max: usize,
+ actual: usize,
+ },
+ #[error(
+ "barycenter nutation precession coefficients with key {key} had an odd number of \
+ terms, but an even number is required"
+ )]
+ OddNumber { key: String },
+}
+
+/// GetPolynomialCoefficients supports translation between a raw PCK kernel and RotationalElements.
+pub trait GetPolynomialCoefficients {
+ fn get_right_ascension_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result>;
+
+ fn get_declination_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result>;
+
+ fn get_prime_meridian_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result>;
+
+ fn get_barycenter_nut_prec_coefficients_or_default(
+ &self,
+ barycenter_id: u32,
+ ) -> Result>;
+}
+
+/// Concrete translator from a raw PCK kernel to RotationalElements. Produces coefficients in
+/// radians.
+pub struct CoefficientKernel<'a>(pub &'a Kernel);
+
+/// The type of coefficient to be retrieved from the kernel.
+enum PolynomialCoefficientType {
+ RightAscension,
+ Declination,
+ PrimeMeridian,
+}
+
+impl PolynomialCoefficientType {
+ /// Returns the pair of kernel keys required to retrieve the trig and non-trig coefficients for
+ /// a given body and coefficient type.
+ fn keys(&self, id: u32) -> (String, String) {
+ match self {
+ PolynomialCoefficientType::RightAscension => (
+ format!("BODY{}_POLE_RA", id),
+ format!("BODY{}_NUT_PREC_RA", id),
+ ),
+ PolynomialCoefficientType::Declination => (
+ format!("BODY{}_POLE_DEC", id),
+ format!("BODY{}_NUT_PREC_DEC", id),
+ ),
+ PolynomialCoefficientType::PrimeMeridian => {
+ (format!("BODY{}_PM", id), format!("BODY{}_NUT_PREC_PM", id))
+ }
+ }
+ }
+}
+
+impl GetPolynomialCoefficients for CoefficientKernel<'_> {
+ fn get_right_ascension_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result> {
+ self.get_polynomial_coefficients_or_default(id, PolynomialCoefficientType::RightAscension)
+ }
+
+ fn get_declination_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result> {
+ self.get_polynomial_coefficients_or_default(id, PolynomialCoefficientType::Declination)
+ }
+
+ fn get_prime_meridian_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result> {
+ self.get_polynomial_coefficients_or_default(id, PolynomialCoefficientType::PrimeMeridian)
+ }
+
+ fn get_barycenter_nut_prec_coefficients_or_default(
+ &self,
+ id: u32,
+ ) -> Result> {
+ if !is_planet(id as i32) {
+ return Ok(TokenizeableNutPrecCoefficients::default());
+ }
+
+ let barycenter_id = id / 100;
+
+ let key = format!("BODY{}_NUT_PREC_ANGLES", barycenter_id);
+ match self.0.get_double_array(&key) {
+ None => Ok(TokenizeableNutPrecCoefficients::default()),
+ // The raw kernel data is an array of implicit pairs, so the number of coefficients must
+ // always be even.
+ Some(coefficients) if coefficients.len() % 2 == 1 => {
+ Err(Box::new(CoefficientsError::OddNumber {
+ key: key.to_string(),
+ }))
+ }
+ // Split the implicit pairs into two index-matched vecs.
+ Some(coefficients) => Ok(TokenizeableNutPrecCoefficients(unpair(coefficients))),
+ }
+ }
+}
+
+impl<'a> CoefficientKernel<'a> {
+ fn get_polynomial_coefficients_or_default(
+ &self,
+ id: u32,
+ pct: PolynomialCoefficientType,
+ ) -> Result> {
+ let (key, nut_prec_key) = pct.keys(id);
+ let non_trig_coefficients = self.get_non_trig_coefficients_or_default(&key)?;
+ let nut_prec_coefficients = self.get_nut_prec_coefficients_or_default(&nut_prec_key)?;
+
+ Ok(TokenizeablePolynomialCoefficients(
+ non_trig_coefficients[0],
+ non_trig_coefficients[1],
+ non_trig_coefficients[2],
+ nut_prec_coefficients,
+ ))
+ }
+
+ fn get_non_trig_coefficients_or_default(
+ &self,
+ key: &str,
+ ) -> Result<[f64; 3], Box> {
+ match self.0.get_double_array(key) {
+ None => Ok([0.0; 3]),
+ Some(coefficients) if coefficients.len() < 2 => {
+ Err(Box::new(CoefficientsError::TooFew {
+ key: key.to_string(),
+ min: 2,
+ actual: coefficients.len(),
+ }))
+ }
+ Some(coefficients) if coefficients.len() > 3 => {
+ Err(Box::new(CoefficientsError::TooMany {
+ key: key.to_string(),
+ max: 3,
+ actual: coefficients.len(),
+ }))
+ }
+ Some(coefficients) => Ok([
+ coefficients[0].to_radians(),
+ coefficients[1].to_radians(),
+ coefficients.get(2).copied().unwrap_or(0.0).to_radians(),
+ ]),
+ }
+ }
+
+ fn get_nut_prec_coefficients_or_default(
+ &self,
+ key: &str,
+ ) -> Result, Box> {
+ match self.0.get_double_array(key) {
+ None => Ok(vec![]),
+ Some(coefficients) => Ok(coefficients.iter().map(|c| c.to_radians()).collect()),
+ }
+ }
+}
+
+fn unpair(vec: &Vec) -> (Vec, Vec) {
+ let mut a: Vec = Vec::with_capacity(vec.len() / 2);
+ let mut b: Vec = Vec::with_capacity(vec.len() / 2);
+ for (i, coefficient) in vec.iter().enumerate() {
+ if i % 2 == 0 {
+ a.push(*coefficient);
+ } else {
+ b.push(*coefficient);
+ }
+ }
+ (a, b)
+}