use super::{Instant, TimeScale};
pub trait TimeLike {
fn as_mjd_with_scale(&self, scale: TimeScale) -> f64;
fn as_jd_with_scale(&self, scale: TimeScale) -> f64 {
self.as_mjd_with_scale(scale) + 2400000.5
}
fn as_instant(&self) -> Instant;
}
impl TimeLike for Instant {
#[inline]
fn as_mjd_with_scale(&self, scale: TimeScale) -> f64 {
Self::as_mjd_with_scale(self, scale)
}
#[inline]
fn as_jd_with_scale(&self, scale: TimeScale) -> f64 {
Self::as_jd_with_scale(self, scale)
}
#[inline]
fn as_instant(&self) -> Instant {
*self
}
}