Availability:built-in
[det]float_class(+Float, 
-Class)Wraps C99 fpclassify() to access the class of a floating point 
number. Raises a type error if Float is not a float. Defined 
classes are below.
- nan
 - Float is “Not a number” . See nan/0. 
May be produced if the Prolog flag float_undefined 
is set to 
nan. Although IEEE 754 allows NaN to carry a payload 
and have a sign, SWI-Prolog has only a single NaN values. Note that two 
NaN
terms compare equal in the standard order of terms (==/2, 
etc.), they compare non-equal for arithmetic (=:=/2, 
etc.). 
- infinite
 - Float is positive or negative infinity. See inf/0. 
May be produced if the Prolog flag float_overflow 
or the flag float_zero_div 
is set to 
infinity. 
- zero
 - Float is zero (0.0 or -0.0)
 
- subnormal
 - Float is too small to be represented in normalized format. 
May not be produced if the Prolog flag
float_underflow 
is set to 
error. 
- normal
 - Float is a normal floating point number.