Name
sign - returns sign of scalar or each vector component.
Synopsis
float sign(float x);
float1 sign(float1 x);
float2 sign(float2 x);
float3 sign(float3 x);
float4 sign(float4 x);
half sign(half x);
half1 sign(half1 x);
half2 sign(half2 x);
half3 sign(half3 x);
half4 sign(half4 x);
fixed sign(fixed x);
fixed1 sign(fixed1 x);
fixed2 sign(fixed2 x);
fixed3 sign(fixed3 x);
fixed4 sign(fixed4 x);
Parameters
- x
-
Vector or scalar to determine its sign.
Description
Returns positive one, zero, or negative one for each of the components
of x based on the component's sign.
-
1) Returns -1 component if the respective component of x is negative.
-
2) Returns 0 component if the respective component of x is zero.
-
3) Returns 1 component if the respective component of x is positive.
-
4) Ideally, NaN returns NaN.
Reference Implementation
sign for float3 could be implemented like this.
float3 sign(float x)
{
float3 val = a > 0;
return val - (a < 0);
}
Profile Support
sign is supported in all profiles except fp20.
sign is very efficient in the gp4vp, gp4gp,
gp4fp, vp40, and vp30 profiles that support
the native SSG instruction.
See Also
max, min, saturate, step
|