isnan

> # NAME

> isnan - test whether or not a scalar or each vector component is not-a-number

> # SYNOPSIS

>       bool  isnan(float x);
>       bool1 isnan(float1 x);
>       bool2 isnan(float2 x);
>       bool3 isnan(float3 x);
>       bool4 isnan(float4 x);

>       bool   isnan(half x);
>       bool1  isnan(half1 x);
>       bool2  isnan(half2 x);
>       bool3  isnan(half3 x);
>       bool4  isnan(half4 x);

>       bool  isnan(fixed x);
>       bool1 isnan(fixed1 x);
>       bool2 isnan(fixed2 x);
>       bool3 isnan(fixed3 x);
>       bool4 isnan(fixed4 x);

> # PARAMETERS

> x

>   Vector or scalar to test for being NaN.

> # DESCRIPTION

> Returns whether or not a scalar or each vector component is not-a-number (NaN) Finite and infinite values are not NaN.

> # REFERENCE IMPLEMENTATION

> isnan for float3 vectors could be implemented like this.

>       bool3 isnan(float3 s)
>       {
>         // By IEEE 754 rule, NaN is not equal to NaN
>         return s != s;
>       }

> # PROFILE SUPPORT

> isnan is supported in all profiles except fp20.

> # SEE ALSO

> isfinite, isinf