deimos_numerics 0.16.2

Numerical methods and control systems analysis
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Small scalar helpers shared across the embedded runtime modules.
//!
use super::EmbeddedError;
use num_traits::Float;

/// Returns `value` if it is finite, otherwise reports a named runtime error.
pub(crate) fn ensure_finite<T>(value: T, which: &'static str) -> Result<T, EmbeddedError>
where
    T: Float,
{
    if value.is_finite() {
        Ok(value)
    } else {
        Err(EmbeddedError::NonFiniteValue { which })
    }
}