| 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.
| x | - | floating point value | 
| y | - | floating point value | 
Nonzero integral value if x < y || x > y, 0 otherwise.
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.
#include <stdio.h>
#include <math.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
| (C99) | checks if the first floating-point argument is less than the second (function macro) | 
| (C99) | checks if the first floating-point argument is greater than the second (function macro) | 
| C++ documentation for islessgreater | |
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    https://en.cppreference.com/w/c/numeric/math/islessgreater