Test for a NaN.

int isnan(float)

int n isnan(float n)

int isnan(double)

long n isnan(double n)
int isnan (half)      // if half extension enabled

shortn isnan (halfn)      // if half extension enabled

Description

Test for NaN.

Notes

If an implementation extends this specification to support IEEE-754 flags or exceptions, then all built-in relational functions shall proceed without raising the invalid floating-point exception when one or more of the operands are NaNs.

The built-in relational functions are extended with cl_khr_fp16 to include versions that take half, and half{2|3|4|8|16} as arguments.

The function returns a 0 if the specified relation is false and a 1 if the specified relation is true for scalar argument types. These functions shall return a 0 if the specified relation is false and a - 1 (i.e. all bits set) if the specified relation is true for vector argument types.

Also see

Specification