/C

# isunordered

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

Determines if the floating point numbers `x` and `y` are unordered, that is, one or both are NaN and thus cannot be meaningfully compared with each other.

### Parameters

 x - floating point value y - floating point value

### Return value

Nonzero integral value if either `x` or `y` is NaN, `​0​` otherwise.

### Example

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

int main(void)
{
printf("isunordered(NAN,1.0) = %d\n", isunordered(NAN,1.0));
printf("isunordered(1.0,NAN) = %d\n", isunordered(1.0,NAN));
printf("isunordered(NAN,NAN) = %d\n", isunordered(NAN,NAN));
printf("isunordered(1.0,0.0) = %d\n", isunordered(1.0,0.0));

return 0;
}```

Possible output:

```isunordered(NAN,1.0) = 1
isunordered(1.0,NAN) = 1
isunordered(NAN,NAN) = 1
isunordered(1.0,0.0) = 0```
• C11 standard (ISO/IEC 9899:2011):
• 7.12.14.6 The isunordered macro (p: 261)
• F.10.11 Comparison macros (p: 531)
• C99 standard (ISO/IEC 9899:1999):
• 7.12.14.6 The isunordered macro (p: 242)

### See also

 fpclassify (C99) classifies the given floating-point value (function) isnan (C99) checks if the given number is NaN (function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/numeric/math/isunordered