#![cfg_attr(not(feature = "std"), no_std)]
#![allow(clippy::result_large_err)]
#![allow(
clippy::cast_possible_truncation,
clippy::cast_precision_loss,
clippy::cast_possible_wrap,
clippy::cast_sign_loss,
clippy::float_cmp,
clippy::missing_panics_doc,
clippy::missing_errors_doc
)]
#[cfg(all(test, not(feature = "std")))]
extern crate std;
pub use supernovas_ffi as sys;
pub mod apparent;
pub mod debug;
#[cfg(feature = "eop")]
pub mod eop;
#[cfg(any(feature = "calceph", feature = "anise"))]
pub mod ephemeris;
pub mod equinox;
pub mod error;
pub mod frame;
pub mod geometric;
pub mod observer;
pub mod refraction;
pub mod scalar;
pub mod source;
pub mod spherical;
pub mod time;
pub mod timescale;
pub mod track;
pub mod transform;
pub mod unit;
pub mod uvw;
pub mod vector;
pub use apparent::{Apparent, ReferenceSystem};
pub use debug::{DebugMode, enable_debug_mode, get_debug_mode};
#[cfg(feature = "eop")]
pub use eop::{Eop, EopSeries};
#[cfg(feature = "anise")]
pub use ephemeris::AniseEphemeris;
#[cfg(feature = "calceph")]
pub use ephemeris::CalcephEphemeris;
#[cfg(any(feature = "calceph", feature = "anise"))]
pub use ephemeris::{Ephemeris, EphemerisProvider, PlanetProvider};
pub use equinox::Equinox;
pub use error::{Error, FfiMessage, Result, set_provider_error, take_provider_error};
pub use frame::{Accuracy, Frame};
pub use geometric::Geometric;
pub use observer::{Observer, Site, Weather};
pub use refraction::Refraction;
pub use scalar::{Angle, Coordinate, Interval, Pressure, ScalarVelocity, Temperature, TimeAngle};
pub use source::{
CatalogEntry, CatalogSystem, EphemObject, OrbitalElements, OrbitalObject, Planet, SolarBody,
Source,
};
pub use spherical::{Ecliptic, Equatorial, Galactic, Horizontal, Spherical};
pub use time::Time;
pub use timescale::Timescale;
pub use track::{EquatorialTrack, HorizontalTrack};
pub use transform::Transform;
pub use uvw::Uvw;
pub use vector::{Position, Velocity};