sign.3Cg

Langue: en

Version: 346556 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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