pub trait Classify {
// Required method
fn classify(&self) -> FpCategory;
}Expand description
Trait for classifying floating-point values into categories.
This trait provides functionality to determine the category of a floating-point number according to the IEEE 754 standard (normal, subnormal, zero, infinite, or NaN).
§Examples
use num_valid::functions::Classify;
use std::num::FpCategory;
let normal = 42.0f64;
assert_eq!(Classify::classify(&normal), FpCategory::Normal);
let infinity = f64::INFINITY;
assert_eq!(Classify::classify(&infinity), FpCategory::Infinite);
let zero = 0.0f64;
assert_eq!(Classify::classify(&zero), FpCategory::Zero);Required Methods§
Sourcefn classify(&self) -> FpCategory
fn classify(&self) -> FpCategory
Returns the floating point category of the number. If only one property is going to be tested, it is generally faster to use the specific predicate instead.
use num_valid::functions::Classify;
use std::num::FpCategory;
let num = 12.4_f64;
let inf = f64::INFINITY;
assert_eq!(Classify::classify(&num), FpCategory::Normal);
assert_eq!(Classify::classify(&inf), FpCategory::Infinite);Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Classify for f64
impl Classify for f64
Source§fn classify(&self) -> FpCategory
fn classify(&self) -> FpCategory
Returns the floating point category of the number. If only one property is going to be tested, it is generally faster to use the specific predicate instead.
use num_valid::functions::Classify;
use std::num::FpCategory;
let num = 12.4_f64;
let inf = f64::INFINITY;
assert_eq!(Classify::classify(&num), FpCategory::Normal);
assert_eq!(Classify::classify(&inf), FpCategory::Infinite);