# Enum std::num::FpCategory

1.0.0 · source · ```
pub enum FpCategory {
Nan,
Infinite,
Zero,
Subnormal,
Normal,
}
```

## Expand description

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.

## §Examples

```
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);
```

Run## Variants§

### 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.)

## Trait Implementations§

1.0.0 · source§### impl Clone for FpCategory

### impl Clone for FpCategory

source§#### fn clone(&self) -> FpCategory

#### fn clone(&self) -> FpCategory

1.0.0 · source§#### fn clone_from(&mut self, source: &Self)

#### fn clone_from(&mut self, source: &Self)

`source`

. Read more1.0.0 · source§### impl Debug for FpCategory

### impl Debug for FpCategory

1.0.0 · source§### impl PartialEq for FpCategory

### impl PartialEq for FpCategory

source§#### fn eq(&self, other: &FpCategory) -> bool

#### fn eq(&self, other: &FpCategory) -> bool

`self`

and `other`

values to be equal, and is used
by `==`

.