islessequal(3)

islessequal3

Compare two floating-point numbers

Part of isgreater(3).

Usage

#include <math.h>

int

isgreater(real-floating x, real-floating y);

int

isgreaterequal(real-floating x, real-floating y);

int

isless(real-floating x, real-floating y);

int

islessequal(real-floating x, real-floating y);

int

islessgreater(real-floating x, real-floating y);

int

isunordered(real-floating x, real-floating y);

Library

Standard C Library (libc, -lc)

Overview

Each of the macros isgreater(), isgreaterequal(), isless(), islessequal(), and islessgreater() take arguments x and y and return a non-zero value if and only if its nominal relation on x and y is true. These macros always return zero if either argument is not a number (NaN), but unlike the corresponding C operators, they never raise a floating point exception.

The isunordered() macro takes arguments x and y and returns non-zero if and only if any of x or y are NaNs. For any pair of floating-point values, one of the relationships (less, greater, equal, unordered) holds.

Releases

55 releases since FreeBSD 5.1-RELEASE; the text changed 34 times.

  1. 5.1
  2. 5.2–5.5
  3. 6.0–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–16.0

Standards

The isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), and isunordered() macros conform to ISO/IEC 9899:1999 (“ISO C99”).

History

The relational macros described above first appeared in FreeBSD 5.1.

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