mod delta_t;
mod earth;
mod julian;
mod nutation;
mod solar;
pub mod solstice;
pub use delta_t::delta_t;
pub use julian::{from_julian_day, to_julian_day, to_julian_year};
struct SphericalCoords {
/// Ecliptic longitude or celestial longitude measures the angular distance of
/// an object along the ecliptic from the primary direction
pub longitude: f64,
/// Ecliptic latitude or celestial latitude measures the angular distance of an object from
/// the ecliptic towards the north (positive) or south (negative) ecliptic pole.
pub latitude: f64,
/// Distance is also necessary for a complete spherical position.
pub distance: f64,
}
// evaluate a polynominal of arbitrary rank using Horner's method
fn eval_polynomial(x: f64, coefficients: &[f64]) -> f64 {
coefficients
.iter()
.copied()
.rev()
.fold(0.0, |val, k| val.mul_add(x, k))
}