pub use crate::ext_qtty::angular_rate::AngularRateUnit;
pub use crate::ext_qtty::{
accel, angular_rate, velocity, Acceleration, AmountOfSubstance, Angular, AngularRate, Current,
Dimension, Dimensionless, Energy, Force, Length, LuminousIntensity, Mass, Per, Power, Prod,
Quantity, Real, Scalar, Temperature, Time, Transcendental, Unit, Velocity, Volume,
};
pub use crate::ext_qtty::unit;
pub use crate::ext_qtty::{
acceleration, angular, area, density, energy, force, length, mass, power, radiometry,
solid_angle, time, volume,
};
pub use crate::ext_qtty::solid_angle::*;
pub use crate::ext_qtty::frequency;
pub use crate::ext_qtty::frequency::*;
pub use crate::ext_qtty::acceleration::*;
pub use crate::ext_qtty::angular::*;
pub use crate::ext_qtty::area::*;
pub use crate::ext_qtty::density::*;
pub use crate::ext_qtty::energy::*;
pub use crate::ext_qtty::force::*;
pub use crate::ext_qtty::length::*;
pub use crate::ext_qtty::mass::*;
pub use crate::ext_qtty::power::*;
pub use crate::ext_qtty::pressure;
pub use crate::ext_qtty::pressure::*;
pub use crate::ext_qtty::radiometry::*;
pub use crate::ext_qtty::temperature;
pub use crate::ext_qtty::temperature::*;
pub use crate::ext_qtty::time::*;
pub use crate::ext_qtty::volume::*;
pub use crate::ext_qtty::Second;
pub use crate::ext_qtty::GravitationalParameter;
pub use crate::ext_qtty::dynamics::{
AreaToMass, AreaToMassUnit, DragCoefficient, InverseSecond, InverseSeconds, J2Coefficient,
KmPerSecond, KmPerSecondSquared, KmPerSeconds, KmPerSecondsSquared, SrpCoefficient,
SPEED_OF_LIGHT_KM_S,
};
pub use crate::ext_qtty::dynamics::{GM_EARTH, GM_MOON, GM_SUN};
pub const GM_MERCURY: GravitationalParameter = GravitationalParameter::new(2.203_187_832_8e4);
pub const GM_VENUS: GravitationalParameter = GravitationalParameter::new(3.248_585_920_0e5);
pub const GM_MARS: GravitationalParameter = GravitationalParameter::new(4.282_837_581_6e4);
pub const GM_JUPITER: GravitationalParameter = GravitationalParameter::new(1.267_127_648_0e8);
pub const GM_SATURN: GravitationalParameter = GravitationalParameter::new(3.794_058_520_0e7);
pub const GM_URANUS: GravitationalParameter = GravitationalParameter::new(5.794_548_600_0e6);
pub const GM_NEPTUNE: GravitationalParameter = GravitationalParameter::new(6.836_527_100_5e6);
pub const GM_PLUTO: GravitationalParameter = GravitationalParameter::new(9.770e2);
pub use crate::ext_qtty::tolerances::IntegratorTolerances;
pub use crate::ext_qtty::dimensionless::{
Airmass, Airmasses, Albedo, Albedos, IlluminationFraction, IlluminationFractions, OpticalDepth,
OpticalDepths, Ratio, Ratios, Refractivities, Refractivity, Transmittance, Transmittances,
};
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct CipCoordinate;
impl Unit for CipCoordinate {
const RATIO: f64 = 1.0;
type Dim = Dimensionless;
const SYMBOL: &'static str = "";
}
pub type CipCoordinates = Quantity<CipCoordinate>;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn reexported_dimensionless_units_round_trip() {
assert_eq!(OpticalDepths::new(0.5_f64).value(), 0.5_f64);
assert_eq!(Airmasses::new(1.0_f64).value(), 1.0_f64);
assert_eq!(Transmittances::new(0.7_f64).value(), 0.7_f64);
assert_eq!(Albedos::new(0.3_f64).value(), 0.3_f64);
assert_eq!(IlluminationFractions::new(0.75_f64).value(), 0.75_f64);
assert_eq!(Refractivities::new(2.7e-4_f64).value(), 2.7e-4_f64);
}
#[test]
fn cip_coordinate_round_trip() {
let q = CipCoordinates::new(-1.234e-3_f64);
assert_eq!(q.value(), -1.234e-3_f64);
}
}