ISLESSGREATER(3M) | Mathematical Library Functions | ISLESSGREATER(3M) |

islessgreater - test if x is less than or greater than y

c99 [flag... ]file...-lm[library... ] #include <math.h>intislessgreater(real-floatingx,real-floatingy);

The **islessgreater()** macro determines whether its first
argument is less than or greater than its second argument. The
**islessgreater**(*x*, *y*) macro is similar to (*x*) <
(*y*) || (*x*) > (*y*); however,
**islessgreater**(*x*, *y*) does not raise the invalid
floating-point exception when x and y are unordered (nor does it evaluate
*x* and *y* twice).

Upon successful completion, the **islessgreater()** macro
returns the value of (*x*) < (*y*) || (*x*) >
(*y*).

If *x* or *y* is NaN, 0 is returned.

No errors are defined.

The relational and equality operators support the usual
mathematical relationships between numeric values. For any ordered pair of
numeric values, exactly one of the relationships (less, greater, and equal)
is true. Relational operators can raise the invalid floating-point exception
when argument values are NaNs. For a NaN and a numeric value, or for two
NaNs, just the unordered relationship is true. This macro is a quiet
(non-floating-point exception raising) version of a relational operator. It
facilitates writing efficient code that accounts for quiet NaNs without
suffering the invalid floating-point exception. In the **SYNOPSIS**
section, **real-floating** indicates that the argument is an expression
of **real-floating** type.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE | ATTRIBUTE VALUE |

Interface Stability | Standard |

MT-Level | MT-Safe |

math.h(3HEAD), isgreater(3M), isgreaterequal(3M), isless(3M), islessequal(3M), isunordered(3M), attributes(7), standards(7)

July 12, 2006 | SunOS 5.11 |