space::irbem::ValidityEnvelope
cheatah-space v0.1.0-alpha — Biome Standard 0.6.5-alpha
Everything published about where one model may be believed: which drivers it reads and over what range, how far out in space it was fitted, and whether it needs coefficient files on disk.
Aggregate, trivially copyable, and about 300 bytes — it lives in .rodata and is reached by reference (envelope_of), never copied into a hot loop.
IrbemStatus.EnvelopeTableMatchesTheIrbemKextTableFunctions
The meaningful part of bound_storage.
a pointer to the first bound; never null, and valid for bound_count entries.
O(1).
none.
IrbemStatus.EnvelopeTableMatchesTheIrbemKextTableOne past the meaningful part of bound_storage, so an envelope is range-for-able.
the end iterator.
O(1).
none.
IrbemStatus.EnvelopeTableMatchesTheIrbemKextTableThe bound this model publishes for d, if it reads d at all.
d | the driver to look up. |
the entry, or std::nullopt when the model does not read that driver.
O(bound_count) — at most ten compares, over data in one cache line pair.
none.
IrbemStatus.EnvelopeLookupFindsOnlyTheDriversAModelReadsConstants & variables
The source the ranges below are quoted from, so a reader can check them.
The drivers this model reads; only the first bound_count entries are meaningful.
How many entries of bound_storage are meaningful.
Largest geocentric radius, in Earth radii, the model was fitted out to; +infinity when the published sources state no radial limit.
Smallest GSM x, in Earth radii, the model was fitted to; -infinity when none is published.
The Tsyganenko 2001 and later models state this instead of a radial limit, because their tail current sheet is what runs out.
Whether the model needs per-interval coefficient files provisioned on disk before it can be evaluated at all; see check_parameters.
