diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b81..00000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/copyright/Lox.xml b/.idea/copyright/Lox.xml
deleted file mode 100644
index 23676d50..00000000
--- a/.idea/copyright/Lox.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index c174b948..00000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/lox-space.iml b/.idea/lox-space.iml
deleted file mode 100644
index 7e2df88b..00000000
--- a/.idea/lox-space.iml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 8888da49..00000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1ddf..00000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/crates/lox_core/src/bodies/planets.rs b/crates/lox_core/src/bodies/planets.rs
index d95631e4..7e45b6d7 100644
--- a/crates/lox_core/src/bodies/planets.rs
+++ b/crates/lox_core/src/bodies/planets.rs
@@ -34,18 +34,18 @@ impl Spheroid for Mercury {
impl RotationalElements for Mercury {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 174.7910857f64,
- 349.5821714f64,
- 164.3732571f64,
- 339.1643429f64,
- 153.9554286f64,
+ 3.0506799486005773f64,
+ 6.101359897201155f64,
+ 2.868854538622146f64,
+ 5.919534488968053f64,
+ 2.6870291303890443f64,
] as &[f64],
&[
- 149472.53587500003f64,
- 298945.07175000006f64,
- 448417.60762500006f64,
- 597890.1435000001f64,
- 747362.679375f64,
+ 2608.7878923240937f64,
+ 5217.575784648187f64,
+ 7826.363676972282f64,
+ 10435.151569296375f64,
+ 13043.939461620466f64,
] as &[f64],
);
const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
@@ -128,23 +128,34 @@ impl Spheroid for Earth {
impl RotationalElements for Earth {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 125.045f64, 250.089f64, 260.008f64, 176.625f64, 357.529f64, 311.589f64, 134.963f64,
- 276.617f64, 34.226f64, 15.134f64, 119.743f64, 239.961f64, 25.053f64,
+ 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],
&[
- -1935.5364525f64,
- -3871.072905f64,
- 475263.3328725f64,
- 487269.629985f64,
- 35999.0509575f64,
- 964468.49931f64,
- 477198.869325f64,
- 12006.300765f64,
- 63863.5132425f64,
- -5806.6093575f64,
- 131.84064f64,
- 6003.1503825f64,
- 473327.79642f64,
+ -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 =
@@ -184,85 +195,85 @@ impl Spheroid for Mars {
impl RotationalElements for Mars {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 190.72646643f64,
+ 3.328804809897935f64,
0f64,
- 31834.27934054f64,
- 332.86082793f64,
+ 555.6129894920322f64,
+ 5.809517398292802f64,
0f64,
- 38280.79631835f64,
- 189.6327156f64,
- 12.711923222f64,
- 660.22803474f64,
- 231.05028581f64,
+ 668.125936040531f64,
+ 3.3097152567180146f64,
+ 0.22186491448462606f64,
+ 11.523153020184504f64,
+ 4.032588225058434f64,
0f64,
- 1320.50145245f64,
- 217.98635955f64,
+ 23.047098122619843f64,
+ 3.8045796985836846f64,
0f64,
- 19139.83628608f64,
- 198.991226f64,
+ 334.05316148477937f64,
+ 3.4730520762801462f64,
0f64,
- 38280.8511281f64,
- 249.663391f64,
+ 668.1268926511307f64,
+ 4.357448194643978f64,
0f64,
- 76560.636795f64,
- 79.398797f64,
+ 1336.235189496269f64,
+ 1.3857704297725961f64,
0f64,
- 19139.9407476f64,
- 43.058401f64,
+ 334.054984682245f64,
+ 0.751510868094019f64,
0f64,
- 57420.7517205f64,
- 79.476401f64,
+ 1002.1811764929237f64,
+ 1.3871248750853138f64,
0f64,
- 0.5042615f64,
- 129.071773f64,
+ 0.008801023466045386f64,
+ 2.252727410236719f64,
0f64,
- 38281.0473591f64,
- 56.668646f64,
+ 668.130317528175f64,
+ 0.9890544553471146f64,
0f64,
- 76560.2552215f64,
- 104.79268f64,
+ 1336.2285297823557f64,
+ 1.8289772979888115f64,
0f64,
- 0.5042615f64,
+ 0.008801023466045386f64,
] as &[f64],
&[
- 15917.10818695f64,
- 21.4689247f64,
+ 277.80594525842264f64,
+ 0.37470342287773584f64,
0f64,
- 19139.89694742f64,
- 394.93256437f64,
+ 334.05422022489097f64,
+ 6.892873571600945f64,
0f64,
- 41215158.1842005f64,
- 121.46893664f64,
+ 719340.2120445863f64,
+ 2.120032883264378f64,
0f64,
- 660.9912354f64,
- 251.37314025f64,
+ 11.536473384554899f64,
+ 4.387288948439982f64,
0f64,
- 38279.9612555f64,
- 196.19729402f64,
+ 668.1113614443373f64,
+ 3.424288764152381f64,
0f64,
- 19139.4819985f64,
- 226.292679f64,
+ 334.0469780000094f64,
+ 3.9495523217086292f64,
0f64,
- 57420.7251593f64,
- 266.18351f64,
+ 1002.1807129125305f64,
+ 4.645778664015252f64,
0f64,
- 0.5042615f64,
- 122.433576f64,
+ 0.008801023466045386f64,
+ 2.136869016190709f64,
0f64,
- 38280.8753272f64,
- 57.663379f64,
+ 668.1273150051017f64,
+ 1.0064158213753553f64,
0f64,
- 76560.6495004f64,
- 166.325722f64,
+ 1336.2354112473317f64,
+ 2.9029314796567682f64,
0f64,
- 19140.0328244f64,
- 36.352167f64,
+ 334.05659172556966f64,
+ 0.6344650043848296f64,
0f64,
- 57420.929536f64,
- 67.364003f64,
+ 1002.1842799588599f64,
+ 1.1757236496733376f64,
0f64,
- 95700.4387578f64,
- 95.391654f64,
+ 1670.2877519268022f64,
+ 1.664898441223219f64,
0f64,
] as &[f64],
);
@@ -371,38 +382,38 @@ impl Spheroid for Jupiter {
impl RotationalElements for Jupiter {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 73.32f64,
- 24.62f64,
- 283.9f64,
- 355.8f64,
- 119.9f64,
- 229.8f64,
- 352.25f64,
- 113.35f64,
- 146.64f64,
- 49.24f64,
- 99.360714f64,
- 175.895369f64,
- 300.323162f64,
- 114.012305f64,
- 49.511251f64,
+ 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],
&[
- 91472.9f64,
- 45137.2f64,
- 4850.7f64,
- 1191.3f64,
- 262.1f64,
- 64.3f64,
- 2382.6f64,
- 6070f64,
- 182945.8f64,
- 90274.4f64,
- 4850.4046f64,
- 1191.9605f64,
- 262.5475f64,
- 6070.2476f64,
- 64.3f64,
+ 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 = (
@@ -481,17 +492,24 @@ impl Spheroid for Saturn {
impl RotationalElements for Saturn {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 353.32f64, 28.72f64, 177.4f64, 300f64, 316.45f64, 345.2f64, 706.64f64, 57.44f64,
+ 6.166597313146365f64,
+ 0.5012585611727715f64,
+ 3.0962140930379407f64,
+ 5.235987755982989f64,
+ 5.523094417936056f64,
+ 6.0248765778844255f64,
+ 12.33319462629273f64,
+ 1.002517122345543f64,
] as &[f64],
&[
- 75706.7f64,
- 75706.7f64,
- -36505.5f64,
- -7225.9f64,
- 506.2f64,
- -1016.3f64,
- 151413.4f64,
- 151413.4f64,
+ 1321.331180819591f64,
+ 1321.331180819591f64,
+ -637.14117008679f64,
+ -126.11574641985825f64,
+ 8.834856673595295f64,
+ -17.73778118801837f64,
+ 2642.662361639182f64,
+ 2642.662361639182f64,
] as &[f64],
);
const RIGHT_ASCENSION_COEFFICIENTS: PolynomialCoefficients = (
@@ -535,29 +553,44 @@ impl Spheroid for Uranus {
impl RotationalElements for Uranus {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 115.75f64, 141.69f64, 135.03f64, 61.77f64, 249.32f64, 43.86f64, 77.66f64, 157.36f64,
- 101.81f64, 138.64f64, 102.23f64, 316.41f64, 304.01f64, 308.71f64, 340.82f64, 259.14f64,
- 204.46f64, 632.82f64,
+ 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],
&[
- 54991.87f64,
- 41887.66f64,
- 29927.35f64,
- 25733.59f64,
- 24471.46f64,
- 22278.41f64,
- 20289.42f64,
- 16652.76f64,
- 12872.63f64,
- 8061.81f64,
- -2024.22f64,
- 2863.96f64,
- -51.94f64,
- -93.17f64,
- -75.32f64,
- -504.81f64,
- -4048.44f64,
- 5727.92f64,
+ 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 =
@@ -593,28 +626,42 @@ impl Spheroid for Neptune {
impl RotationalElements for Neptune {
const NUTATION_PRECESSION_COEFFICIENTS: NutationPrecessionCoefficients = (
&[
- 357.85f64, 323.92f64, 220.51f64, 354.27f64, 75.31f64, 35.36f64, 142.61f64, 177.85f64,
- 647.84f64, 355.7f64, 533.55f64, 711.4f64, 889.25f64, 1067.1f64, 1244.95f64, 1422.8f64,
- 1600.65f64,
+ 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],
&[
- 52.316f64,
- 62606.6f64,
- 55064.2f64,
- 46564.5f64,
- 26109.4f64,
- 14325.4f64,
- 2824.6f64,
- 52.316f64,
- 125213.2f64,
- 104.632f64,
- 156.948f64,
- 209.264f64,
- 261.58f64,
- 313.896f64,
- 366.212f64,
- 418.528f64,
- 470.844f64,
+ 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 = (
@@ -715,18 +762,18 @@ mod tests {
assert_eq!(
(
&[
- 174.7910857f64,
- 349.5821714f64,
- 164.3732571f64,
- 339.1643429f64,
- 153.9554286f64
+ 3.0506799486005773f64,
+ 6.101359897201155f64,
+ 2.868854538622146f64,
+ 5.919534488968053f64,
+ 2.6870291303890443f64
] as &[f64],
&[
- 149472.53587500003f64,
- 298945.07175000006f64,
- 448417.60762500006f64,
- 597890.1435000001f64,
- 747362.679375f64
+ 2608.7878923240937f64,
+ 5217.575784648187f64,
+ 7826.363676972282f64,
+ 10435.151569296375f64,
+ 13043.939461620466f64
] as &[f64]
),
Mercury::NUTATION_PRECESSION_COEFFICIENTS
@@ -832,24 +879,34 @@ mod tests {
assert_eq!(
(
&[
- 125.045f64, 250.089f64, 260.008f64, 176.625f64, 357.529f64, 311.589f64,
- 134.963f64, 276.617f64, 34.226f64, 15.134f64, 119.743f64, 239.961f64,
- 25.053f64
+ 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],
&[
- -1935.5364525f64,
- -3871.072905f64,
- 475263.3328725f64,
- 487269.629985f64,
- 35999.0509575f64,
- 964468.49931f64,
- 477198.869325f64,
- 12006.300765f64,
- 63863.5132425f64,
- -5806.6093575f64,
- 131.84064f64,
- 6003.1503825f64,
- 473327.79642f64
+ -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
@@ -901,85 +958,85 @@ mod tests {
assert_eq!(
(
&[
- 190.72646643f64,
+ 3.328804809897935f64,
0f64,
- 31834.27934054f64,
- 332.86082793f64,
+ 555.6129894920322f64,
+ 5.809517398292802f64,
0f64,
- 38280.79631835f64,
- 189.6327156f64,
- 12.711923222f64,
- 660.22803474f64,
- 231.05028581f64,
+ 668.125936040531f64,
+ 3.3097152567180146f64,
+ 0.22186491448462606f64,
+ 11.523153020184504f64,
+ 4.032588225058434f64,
0f64,
- 1320.50145245f64,
- 217.98635955f64,
+ 23.047098122619843f64,
+ 3.8045796985836846f64,
0f64,
- 19139.83628608f64,
- 198.991226f64,
+ 334.05316148477937f64,
+ 3.4730520762801462f64,
0f64,
- 38280.8511281f64,
- 249.663391f64,
+ 668.1268926511307f64,
+ 4.357448194643978f64,
0f64,
- 76560.636795f64,
- 79.398797f64,
+ 1336.235189496269f64,
+ 1.3857704297725961f64,
0f64,
- 19139.9407476f64,
- 43.058401f64,
+ 334.054984682245f64,
+ 0.751510868094019f64,
0f64,
- 57420.7517205f64,
- 79.476401f64,
+ 1002.1811764929237f64,
+ 1.3871248750853138f64,
0f64,
- 0.5042615f64,
- 129.071773f64,
+ 0.008801023466045386f64,
+ 2.252727410236719f64,
0f64,
- 38281.0473591f64,
- 56.668646f64,
+ 668.130317528175f64,
+ 0.9890544553471146f64,
0f64,
- 76560.2552215f64,
- 104.79268f64,
+ 1336.2285297823557f64,
+ 1.8289772979888115f64,
0f64,
- 0.5042615f64
+ 0.008801023466045386f64
] as &[f64],
&[
- 15917.10818695f64,
- 21.4689247f64,
+ 277.80594525842264f64,
+ 0.37470342287773584f64,
0f64,
- 19139.89694742f64,
- 394.93256437f64,
+ 334.05422022489097f64,
+ 6.892873571600945f64,
0f64,
- 41215158.1842005f64,
- 121.46893664f64,
+ 719340.2120445863f64,
+ 2.120032883264378f64,
0f64,
- 660.9912354f64,
- 251.37314025f64,
+ 11.536473384554899f64,
+ 4.387288948439982f64,
0f64,
- 38279.9612555f64,
- 196.19729402f64,
+ 668.1113614443373f64,
+ 3.424288764152381f64,
0f64,
- 19139.4819985f64,
- 226.292679f64,
+ 334.0469780000094f64,
+ 3.9495523217086292f64,
0f64,
- 57420.7251593f64,
- 266.18351f64,
+ 1002.1807129125305f64,
+ 4.645778664015252f64,
0f64,
- 0.5042615f64,
- 122.433576f64,
+ 0.008801023466045386f64,
+ 2.136869016190709f64,
0f64,
- 38280.8753272f64,
- 57.663379f64,
+ 668.1273150051017f64,
+ 1.0064158213753553f64,
0f64,
- 76560.6495004f64,
- 166.325722f64,
+ 1336.2354112473317f64,
+ 2.9029314796567682f64,
0f64,
- 19140.0328244f64,
- 36.352167f64,
+ 334.05659172556966f64,
+ 0.6344650043848296f64,
0f64,
- 57420.929536f64,
- 67.364003f64,
+ 1002.1842799588599f64,
+ 1.1757236496733376f64,
0f64,
- 95700.4387578f64,
- 95.391654f64,
+ 1670.2877519268022f64,
+ 1.664898441223219f64,
0f64
] as &[f64]
),
@@ -1101,38 +1158,38 @@ mod tests {
assert_eq!(
(
&[
- 73.32f64,
- 24.62f64,
- 283.9f64,
- 355.8f64,
- 119.9f64,
- 229.8f64,
- 352.25f64,
- 113.35f64,
- 146.64f64,
- 49.24f64,
- 99.360714f64,
- 175.895369f64,
- 300.323162f64,
- 114.012305f64,
- 49.511251f64
+ 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],
&[
- 91472.9f64,
- 45137.2f64,
- 4850.7f64,
- 1191.3f64,
- 262.1f64,
- 64.3f64,
- 2382.6f64,
- 6070f64,
- 182945.8f64,
- 90274.4f64,
- 4850.4046f64,
- 1191.9605f64,
- 262.5475f64,
- 6070.2476f64,
- 64.3f64
+ 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
@@ -1223,17 +1280,25 @@ mod tests {
fn test_rotational_elements_nutation_precession_coefficients_699() {
assert_eq!(
(
- &[353.32f64, 28.72f64, 177.4f64, 300f64, 316.45f64, 345.2f64, 706.64f64, 57.44f64]
- as &[f64],
&[
- 75706.7f64,
- 75706.7f64,
- -36505.5f64,
- -7225.9f64,
- 506.2f64,
- -1016.3f64,
- 151413.4f64,
- 151413.4f64
+ 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
@@ -1290,29 +1355,44 @@ mod tests {
assert_eq!(
(
&[
- 115.75f64, 141.69f64, 135.03f64, 61.77f64, 249.32f64, 43.86f64, 77.66f64,
- 157.36f64, 101.81f64, 138.64f64, 102.23f64, 316.41f64, 304.01f64, 308.71f64,
- 340.82f64, 259.14f64, 204.46f64, 632.82f64
+ 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],
&[
- 54991.87f64,
- 41887.66f64,
- 29927.35f64,
- 25733.59f64,
- 24471.46f64,
- 22278.41f64,
- 20289.42f64,
- 16652.76f64,
- 12872.63f64,
- 8061.81f64,
- -2024.22f64,
- 2863.96f64,
- -51.94f64,
- -93.17f64,
- -75.32f64,
- -504.81f64,
- -4048.44f64,
- 5727.92f64
+ 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
@@ -1359,28 +1439,42 @@ mod tests {
assert_eq!(
(
&[
- 357.85f64, 323.92f64, 220.51f64, 354.27f64, 75.31f64, 35.36f64, 142.61f64,
- 177.85f64, 647.84f64, 355.7f64, 533.55f64, 711.4f64, 889.25f64, 1067.1f64,
- 1244.95f64, 1422.8f64, 1600.65f64
+ 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],
&[
- 52.316f64,
- 62606.6f64,
- 55064.2f64,
- 46564.5f64,
- 26109.4f64,
- 14325.4f64,
- 2824.6f64,
- 52.316f64,
- 125213.2f64,
- 104.632f64,
- 156.948f64,
- 209.264f64,
- 261.58f64,
- 313.896f64,
- 366.212f64,
- 418.528f64,
- 470.844f64
+ 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
diff --git a/tools/lox_gen/src/rotational_elements.rs b/tools/lox_gen/src/rotational_elements.rs
index 0cc6cc8b..6d91d82c 100644
--- a/tools/lox_gen/src/rotational_elements.rs
+++ b/tools/lox_gen/src/rotational_elements.rs
@@ -262,7 +262,12 @@ impl GetPolynomialCoefficients for CoefficientKernel<'_> {
}))
}
// Split the implicit pairs into two index-matched vecs.
- Some(coefficients) => Ok(TokenizeableNutPrecCoefficients(unpair(coefficients))),
+ Some(coefficients) => {
+ let mut unpaired = unpair(coefficients);
+ unpaired.0.iter_mut().for_each(|c| *c = c.to_radians());
+ unpaired.1.iter_mut().for_each(|c| *c = c.to_radians());
+ Ok(TokenizeableNutPrecCoefficients(unpaired))
+ }
}
}
}