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: _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
DESCRIPTION
The normal relational 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. These macros are guaranteed to evaluate their arguments only once. The arguments must be of real floating-point type (note: do not pass integer values as arguments to these macros, since the arguments will not be promoted to real-floating types). 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. isunordered() returns 1 if x or y is NaN and 0 otherwise.
ERRORS
No errors occur.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). ┌───────────────────────────────┬───────────────┬─────────┐ │Interface │ Attribute │ Value │ ├───────────────────────────────┼───────────────┼─────────┤ │isgreater(), isgreaterequal(), │ Thread safety │ MT-Safe │ │isless(), islessequal(), │ │ │ │islessgreater(), isunordered() │ │ │ └───────────────────────────────┴───────────────┴─────────┘
CONFORMING TO
POSIX.1-2001, POSIX.1-2008, C99.
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 4.09 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. 2016-03-15 ISGREATER(3)
More Linux Commands
manpages/glMultMatrix.3gl.html
glMultMatrix(3gl) - multiply the current matrix with the spe
glMultMatrix multiplies the current matrix with the one specified using m, and replaces the current matrix with the product. The current matrix is determined by
manpages/XGetICValues.3.html
XGetICValues(3) - set and obtain XIC values - Linux man page
The XSetICValues function returns NULL if no error occurred; otherwise, it returns the name of the first argument that could not be set. An argument might not b
manpages/rpmsign.8.html
rpmsign(8) - RPM Package Signing (Admin - Linux man page)...
Both of the --addsign and --resign options generate and insert new signatures for each package PACKAGE_FILE given, replacing any existing signatures. There are
manpages/Tcl_ReapDetachedProcs.3.html
Tcl_ReapDetachedProcs(3) - manage child processes in backgro
Tcl_DetachPids and Tcl_ReapDetachedProcs provide a mechanism for managing subprocesses that are running in background. These procedures are needed because the p
manpages/uuid_generate_time_safe.3.html
uuid_generate_time_safe(3) - create a new unique UUID value
The uuid_generate function creates a new universally unique identifier (UUID). The uuid will be generated based on high-quality randomness from /dev/urandom, if
manpages/XGetImage.3.html
XGetImage(3) - transfer images (Library - Linux man page)...
The XPutImage function combines an image with a rectangle of the specified drawable. The section of the image defined by the src_x, src_y, width, and height arg
manpages/load.n.html
load(n) - Load machine code and initialize new commands.....
This command loads binary code from a file into the applications address space and calls an initialization procedure in the package to incorporate it into an in
manpages/set_menu_opts.3menu.html
set_menu_opts(3menu) - set and get menu options (Man Page)
The function set_menu_opts sets all the given menus option bits (menu option bits may be logically-ORed together). The function menu_opts_on turns on the given
manpages/Tcl_GetAliasObj.3.html
Tcl_GetAliasObj(3) - manage multiple Tcl interpreters, alias
These procedures are intended for access to the multiple interpreter facility from inside C programs. They enable managing multiple interpreters in a hierarchic
manpages/itclwidget.n.html
itclwidget(n) create a widget class of objects (Man Page)...
One of the fundamental constructs in [incr Tcl] is the widget definition. A widget is like a class with some additional features. Each widget acts as a template
manpages/glLoadMatrixf.3gl.html
glLoadMatrixf(3gl) - replace the current matrix with the spe
glLoadMatrix replaces the current matrix with the one whose elements are specified by m. The current matrix is the projection matrix, modelview matrix, or textu
manpages/Tcl_ParseVarName.3.html
Tcl_ParseVarName(3) - parse Tcl scripts and expressions.....
These procedures parse Tcl commands or portions of Tcl commands such as expressions or references to variables. Each procedure takes a pointer to a script (or p
