4.27.2.4 IEEE 754 floating point arithmetic
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • Built-in Predicates
        • Arithmetic
          • General purpose arithmetic
            • IEEE 754 floating point arithmetic
              • float_class/2
              • float_parts/4
              • bounded_number/3
    • Packages
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.