Name
isfinite - test whether or not a scalar or each vector component is a finite value
Synopsis
bool isfinite(float x); bool1 isfinite(float1 x); bool2 isfinite(float2 x); bool3 isfinite(float3 x); bool4 isfinite(float4 x); bool isfinite(half x); bool1 isfinite(half1 x); bool2 isfinite(half2 x); bool3 isfinite(half3 x); bool4 isfinite(half4 x); bool isfinite(fixed x); bool1 isfinite(fixed1 x); bool2 isfinite(fixed2 x); bool3 isfinite(fixed3 x); bool4 isfinite(fixed4 x);Parameters
- x
- Vector or scalar to test for finiteness.
Description
Returns whether or not a scalar or each vector component is a finite value. Infinity and not-a-number (NaN) values are not finite.
Reference Implementation
isfinite for float3 vectors could be implemented like this.
bool3 isfinite(float3 s) { // By IEEE 754 rule, 2*Inf equals Inf return (s == s) && ((s == 0) || (s != 2*s)); }Profile Support
isfinite is supported in all profiles except fp20.
See Also