OpenBSD manual page server

Manual Page Search Parameters

ISGREATER(3) Library Functions Manual ISGREATER(3)

isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered
compare two floating-point numbers

#include <math.h>

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

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

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

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

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

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

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 at least one of the arguments is NaN. For any pair of floating-point values, one of the relationships (less, greater, equal, unordered) holds.


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

The relational macros described above first appeared in OpenBSD 4.4.
August 29, 2017 OpenBSD-current