Name
rsqrt - returns reciprocal square root of scalars and vectors.
Synopsis
float rsqrt(float a);
float1 rsqrt(float1 a);
float2 rsqrt(float2 a);
float3 rsqrt(float3 a);
float4 rsqrt(float4 a);
half rsqrt(half a);
half1 rsqrt(half1 a);
half2 rsqrt(half2 a);
half3 rsqrt(half3 a);
half4 rsqrt(half4 a);
fixed rsqrt(fixed a);
fixed1 rsqrt(fixed1 a);
fixed2 rsqrt(fixed2 a);
fixed3 rsqrt(fixed3 a);
fixed4 rsqrt(fixed4 a);
Parameters
- a
-
Vector or scalar of which to determine the reciprocal square root.
Description
Returns an approximation to the reciprocal square root of a.
For vectors, the returned vector contains the reciprocal square root of each
element of the input vector.
The reciprocal square root of zero is ideally infinity.
The square root of negative values ideally returns NaN (Not a Number).
Reference Implementation
rsqrt is best implemented as a native reciprocal square root
instruction, however rsqrt may be implemented via a pow function:
float3 rsqrt(float3 a)
{
return pow(a, -0.5);
}
Profile Support
rsqrt is supported in all profiles unless otherwise specified.
rsqrt is unsupported in the fp20 profile.
In certain profiles such as vp20, rsqrt computes the absolute
value of a so negative values of a will not return NaN.
See Also
normalize, pow, sqrt
|