table of contents
other versions
- wheezy 3.44-1
- jessie 3.74-1
- jessie-backports 4.10-2~bpo8+1
- testing 4.10-2
- unstable 4.10-2
ISGREATER(3) | Linux Programmer's Manual | ISGREATER(3) |
NAME¶
isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered - floating-point relational tests without exception for NaNSYNOPSIS¶
#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);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_XOPEN_SOURCE >= 600 ||
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
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 exception. To avoid this, C99 defines the macros listed below.- 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 argument is a NaN.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.44 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/.2012-05-06 |