carta
finitef(3)

finitef3

Classify a floating-point number

Part of finite(3).

Usage

int

int

int

int

int

Library

Math Library (libm, -lm)

Overview

The fpclassify() macro takes an argument of x and returns one of the following manifest constants.

FP_INFINITE

Indicates that x is an infinite number.

FP_NAN

Indicates that x is not a number (NaN).

FP_NORMAL

Indicates that x is a normalized number.

FP_SUBNORMAL

Indicates that x is a denormalized number.

FP_ZERO

Indicates that x is zero (0 or -0).

The isfinite() macro returns a non-zero value if and only if its argument has a finite (zero, subnormal, or normal) value. The isinf(), isnan(), and isnormal() macros return non-zero if and only if x is an infinity, NaN, or a non-zero normalized number, respectively.

The symbol isnanf() is provided as an alias to isnan() for compatibility, and its use is deprecated. Similarly, finite() and finitef() are deprecated versions of isfinite().

History

  • FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 13.3-RELEASE: the text shown here
  • FreeBSD 13.2-RELEASE to FreeBSD 13.0-RELEASE
  • FreeBSD 12.4-RELEASE
  • FreeBSD 12.3-RELEASE
  • FreeBSD 12.2-RELEASE
  • FreeBSD 12.1-RELEASE
  • FreeBSD 12.0-RELEASE
  • FreeBSD 11.4-RELEASE
  • FreeBSD 11.3-RELEASE
  • FreeBSD 11.2-RELEASE
  • FreeBSD 11.1-RELEASE
  • FreeBSD 11.0-RELEASE
  • FreeBSD 10.4-RELEASE
  • FreeBSD 10.3-RELEASE
  • FreeBSD 10.2-RELEASE
  • FreeBSD 10.1-RELEASE
  • FreeBSD 10.0-RELEASE
  • FreeBSD 9.3-RELEASE
  • FreeBSD 9.2-RELEASE
  • FreeBSD 9.1-RELEASE
  • FreeBSD 9.0-RELEASE
  • FreeBSD 8.4-RELEASE
  • FreeBSD 8.3-RELEASE
  • FreeBSD 8.2-RELEASE
  • FreeBSD 8.1-RELEASE
  • FreeBSD 8.0-RELEASE
  • FreeBSD 7.4-RELEASE
  • FreeBSD 7.3-RELEASE
  • FreeBSD 7.2-RELEASE
  • FreeBSD 7.1-RELEASE
  • FreeBSD 7.0-RELEASE
  • FreeBSD 6.4-RELEASE
  • FreeBSD 6.3-RELEASE to FreeBSD 6.0-RELEASE
  • FreeBSD 5.3-RELEASE
  • FreeBSD 5.2.1-RELEASE to FreeBSD 5.0-RELEASE
  • FreeBSD 4.11-RELEASE to FreeBSD 4.5-RELEASE
  • FreeBSD 4.4-RELEASE
  • FreeBSD 4.3-RELEASE
  • FreeBSD 4.2-RELEASE to FreeBSD 4.0-RELEASE
  • FreeBSD 3.5.1-RELEASE to FreeBSD 3.3-RELEASE
  • FreeBSD 3.2-RELEASE to FreeBSD 3.0-RELEASE
  • FreeBSD 2.2.9-RELEASE
  • FreeBSD 2.2.8-RELEASE to FreeBSD 2.2.2-RELEASE

Standards

The fpclassify(), isfinite(), isinf(), isnan(), and isnormal() macros conform to ISO/IEC 9899:1999 (“ISO C99”).

History

The fpclassify(), isfinite(), isinf(), isnan(), and isnormal() macros were added in FreeBSD 5.1. 3BSD introduced isinf() and isnan() functions, which accepted double arguments; these have been superseded by the macros described above.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.