/* Void Main's man pages */
{ phpMan } else { main(); }
ISGREATER(3) Linux Programmer's Manual ISGREATER(3)
NAME
isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered - floating-point relational tests without
exception for NaN
SYNOPSIS
#include <math.h>
int isgreater(x, y);
int isgreaterequal(x, y);
int isless(x, y);
int islessequal(x, y);
int islessgreater(x, y);
int isunordered(x, y);
Link with -lm.
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
All functions described here: _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99
DESCRIPTION
The normal relation operations (like <, "less than") will fail if one of the operands is NaN. This will cause an excep-
tion. To avoid this, C99 defines these macros. The macros are guaranteed to evaluate their operands only once. The op-
erands can be of any real floating-point type.
isgreater()
determines (x) > (y) without an exception if x or y is NaN.
isgreaterequal()
determines (x) >= (y) without an exception if x or y is NaN.
isless()
determines (x) < (y) without an exception if x or y is NaN.
islessequal()
determines (x) <= (y) without an exception if x or y is NaN.
islessgreater()
determines (x) < (y) || (x) > (y) without an exception if x or y is NaN. This macro is not equivalent to x != y
because that expression is true if x or y is NaN.
isunordered()
determines whether its arguments are unordered, that is, whether at least one of the arguments is a NaN.
RETURN VALUE
The macros other than isunordered() return the result of the relational comparison; these macros return 0 if either argu-
ment is a NaN.
isunordered() returns 1 if x or y is NaN and 0 otherwise.
ERRORS
No errors occur.
CONFORMING TO
C99, POSIX.1-2001.
NOTES
Not all hardware supports these functions, and where hardware support isn't provided, they will be emulated by macros.
This will result in a performance penalty. Don't use these functions if NaN is of no concern for you.
SEE ALSO
fpclassify(3), isnan(3)
COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about
reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
2008-08-05 ISGREATER(3)

