pub enum FpCategory {
Nan,
Infinite,
Zero,
Subnormal,
Normal,
}
A classification of floating point numbers.
This enum is used as the return type for f32::classify and f64::classify. See their documentation for more.
use std::num::FpCategory; let num = 12.4_f32; let inf = f32::INFINITY; let zero = 0f32; let sub: f32 = 1.1754942e-38; let nan = f32::NAN; assert_eq!(num.classify(), FpCategory::Normal); assert_eq!(inf.classify(), FpCategory::Infinite); assert_eq!(zero.classify(), FpCategory::Zero); assert_eq!(sub.classify(), FpCategory::Subnormal); assert_eq!(nan.classify(), FpCategory::Nan);
Nan
NaN (not a number): this value results from calculations like (-1.0).sqrt().
See the documentation for f32 for more information on the unusual properties of NaN.
Infinite
Positive or negative infinity, which often results from dividing a nonzero number by zero.
Zero
Positive or negative zero.
See the documentation for f32 for more information on the signedness of zeroes.
Subnormal
“Subnormal” or “denormal” floating point representation (less precise, relative to their magnitude, than Normal).
Subnormal numbers are larger in magnitude than Zero but smaller in magnitude than all Normal numbers.
Normal
A regular floating point number, not any of the exceptional categories.
The smallest positive normal numbers are f32::MIN_POSITIVE and f64::MIN_POSITIVE, and the largest positive normal numbers are f32::MAX and f64::MAX. (Unlike signed integers, floating point numbers are symmetric in their range, so negating any of these constants will produce their negative counterpart.)
impl Clone for FpCategory
fn clone(&self) -> FpCategory
fn clone_from(&mut self, source: &Self)
source. Read more
impl Debug for FpCategory
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
impl PartialEq for FpCategory
fn eq(&self, other: &FpCategory) -> bool
self and other values to be equal, and is used by ==.fn ne(&self, other: &Rhs) -> bool
!=. The default implementation is almost always sufficient, and should not be overridden without very good reason.impl Copy for FpCategory
impl Eq for FpCategory
impl StructuralPartialEq for FpCategory
impl Freeze for FpCategory
impl RefUnwindSafe for FpCategory
impl Send for FpCategory
impl Sync for FpCategory
impl Unpin for FpCategory
impl UnwindSafe for FpCategory
impl<T> Any for Twhere
T: 'static + ?Sized,impl<T> Borrow<T> for Twhere
T: ?Sized,impl<T> BorrowMut<T> for Twhere
T: ?Sized,impl<T> CloneToUninit for Twhere
T: Clone,unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit #126799)
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for Twhere
U: From<T>,fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of From<T> for U chooses to do.
impl<T> ToOwned for Twhere
T: Clone,type Owned = T
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/num/enum.FpCategory.html