isless

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
ISGREATER(3)		  Linux Programmer’s Manual		 ISGREATER(3)



NAME
       isgreater, isgreaterequal, isless, islessgreater, isunordered - macros
       to test a relation

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);

DESCRIPTION
       The normal relation operations (like less) will fail  if	 one  of  the
       operands	 is  NaN.  This	 will  cause an exception. To avoid this, C99
       defines these macros. The macros	 are  guaranteed  to  evaluate	their
       operands	 only  once.   The  operand 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()
	      is true if x or y is NaN and false otherwise.

NOTE
       Not all hardware supports these functions, and where it doesn’t,	 they
       will  be emulated by macros. This will give you a performance penalty.
       Don’t use these functions if NaN is of no concern for you.

CONFORMING TO
       C99

SEE ALSO
       fpclassify(3), isnan(3)



				  2002-07-27			 ISGREATER(3)