isless(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:
          _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).

   ┌───────────────────────────────┬───────────────┬─────────┐
   │InterfaceAttributeValue   │
   ├───────────────────────────────┼───────────────┼─────────┤
   │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





We can't live, work or learn in freedom unless the software we use is free.