# islessgreater

From cppreference.com
< c‎ | numeric‎ | math

Defined in header ``<math.h>`` |  |
#define islessgreater(x, y) /* implementation defined */ |  | (since C99)

Determines if the floating-point number x is less than or greater than the floating-point number y, without setting floating-point exceptions.

### Parameters

x | - | floating-point value
y | - | floating-point value

### Return value

Nonzero integral value if x < y || x > y, ​0​ otherwise.

### Notes

The built-in operator< and operator> for floating-point numbers may raise FE_INVALID if one or both of the arguments is NaN. This function is a "quiet" version of the expression x < y || x > y. The macro does not evaluate x and y twice.

### Example

Run this code

    #include <math.h>
    #include <stdio.h>

    int main(void)
    {
        printf("islessgreater(2.0,1.0)      = %d\n", islessgreater(2.0, 1.0));
        printf("islessgreater(1.0,2.0)      = %d\n", islessgreater(1.0, 2.0));
        printf("islessgreater(1.0,1.0)      = %d\n", islessgreater(1.0, 1.0));
        printf("islessgreater(INFINITY,1.0) = %d\n", islessgreater(INFINITY, 1.0));
        printf("islessgreater(1.0,NAN)      = %d\n", islessgreater(1.0, NAN));

        return 0;
    }

Possible output:

    islessgreater(2.0,1.0)      = 1
    islessgreater(1.0,2.0)      = 1
    islessgreater(1.0,1.0)      = 0
    islessgreater(INFINITY,1.0) = 1
    islessgreater(1.0,NAN)      = 0

### References

- C23 standard (ISO/IEC 9899:2024):

  - 7.12.14.5 The islessgreater macro (p: TBD)

  - F.10.11 Comparison macros (p: TBD)

- C17 standard (ISO/IEC 9899:2018):

  - 7.12.14.5 The islessgreater macro (p: TBD)

  - F.10.11 Comparison macros (p: TBD)

- C11 standard (ISO/IEC 9899:2011):

  - 7.12.14.5 The islessgreater macro (p: 261)

  - F.10.11 Comparison macros (p: 531)

- C99 standard (ISO/IEC 9899:1999):

  - 7.12.14.5 The islessgreater macro (p: 241-242)

### See also

isless (C99) | checks if the first floating-point argument is less than the second (function macro)
isgreater (C99) | checks if the first floating-point argument is greater than the second (function macro)
C++ documentation for islessgreater

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/numeric/math/islessgreater&oldid=172035"