cheatah
Struct

space::irbem::DriverBound

cheatah-space v0.1.0-alpha — Biome Standard 0.6.5-alpha

One driver a model reads, and the inclusive interval the model was fitted over.

The interval is closed. The published tables state their limits with <= and >= ("-100 <= Dst <= 20"), so a driver sitting exactly on a bound is inside the envelope and check_validity returns Status::Ok for it. Only a value strictly beyond a bound is reported. The bounds are decimal values that are mostly not exactly representable in binary64 (0.5, 10 and 20 are; -100 is; 5 is), but that is irrelevant to the comparison: the same rounded double is on both sides of it.

An entry whose lo is -inf and hi is +inf means the model reads this driver and no bound has been published for it. That is a fact, not a placeholder: IRBEM's kext table says of the T01-storm and TS05 rows, in those words, "there is no upper or lower limit for those inputs". Such an entry still gets the finiteness check, and never reports Status::OutOfValidityRange.

Unit testIrbemStatus.EnvelopeTableMatchesTheIrbemKextTable

Functions

fn bool published() const #

Whether a finite fitting range has been published for this driver.

Returns

false for the "used, unbounded" entries described above.

Complexity

O(1).

Allocation

none.

Unit testIrbemStatus.TS05DriversAreUsedButUnbounded

Constants & variables

var Driver driver #

Which maginput slot; Driver's enumerators are the zero-based subscripts.

var double lo #

Inclusive lower limit, or -infinity when unpublished.

var double hi #

Inclusive upper limit, or +infinity when unpublished.