pub enum QuadratureStatus {
Evaluated,
ToleranceNotMet,
NotFinite,
InvalidInterval,
}Expand description
How one lane of a quadrature batch ended.
| Variant | last_value | Meaning |
|---|---|---|
Evaluated | the integral | the rule ran to completion |
ToleranceNotMet | best estimate — not to tolerance | adaptive lane ran out of subdivisions |
NotFinite | NaN | the accumulated value was NaN or infinite |
InvalidInterval | NaN | a limit is not finite |
§What Evaluated does and does not claim
For adaptive_quadrature_batch it means the requested tolerance was met.
For a fixed QuadratureRule it means only that every node evaluated to a
finite number and the sum is finite — it makes no accuracy claim at all,
because a fixed rule has no way to know. Choosing enough panels for the
integrand is the caller’s responsibility, and
QuadratureSolution::error_estimate is NaN on that path for exactly this
reason.
§Units
Dimensionless — a status tag.
Variants§
Evaluated
The rule ran to completion with a finite result.
ToleranceNotMet
Adaptive only: the subdivision budget or MAX_ADAPTIVE_DEPTH was
reached before the tolerance. The reported value is the best estimate
available and is not claimed to meet the tolerance.
NotFinite
The accumulated value is NaN or infinite — either the integrand
returned a non-finite sample, or the sum overflowed.
InvalidInterval
A limit of the interval was infinite or NaN, so there is nothing to
integrate over.
Implementations§
Source§impl QuadratureStatus
impl QuadratureStatus
Sourcepub fn is_evaluated(self) -> bool
pub fn is_evaluated(self) -> bool
Whether this status means the lane produced a usable value.
§Example
use outram_foam_basic_lib::ode::parallel::QuadratureStatus;
assert!(QuadratureStatus::Evaluated.is_evaluated());
assert!(!QuadratureStatus::ToleranceNotMet.is_evaluated());