Skip to content

EopLookupError

Defined in: error.rs:76

Available on crate feature alloc only.

pub enum EopLookupError {
Empty,
OutOfRange { mjd: f64, start: f64, end: f64 },
NonMonotonicMjd { index: usize, previous: f64, current: f64 },
NonFiniteMjd { index: usize, mjd: f64 },
}

Error during EOP table lookup.

#[non_exhaustive]: a downstream exhaustive match would otherwise break on every variant added here. Use a wildcard arm.

The table is empty.


mjd: f64 start: f64 end: f64

The requested MJD is outside the table range.


index: usize previous: f64 current: f64

The entries are not in increasing MJD order: entry index is at current, which does not come after previous. Everything past construction reads that order — mjd_range reports the first and last entry, and the lookup bisects — so a table out of order reports a range that leaves its own rows out and interpolates over whichever interval the bisection lands on. The finals2000A parser reports the same condition as EopParseError::NonMonotonicMjd.


index: usize mjd: f64

Entry index has an MJD that is not finite. Increasing order is not enough on its own: -inf ahead of a finite MJD satisfies it, and the interpolation then divides inf by inf and answers Ok(NaN) for a query the reported range calls in-bounds. A lone NaN entry has no pair to compare against at all.