log2

> # NAME

> log2 - returns the base-2 logarithm of scalars and vectors

> # SYNOPSIS

>       float  log2(float a);
>       float1 log2(float1 a);
>       float2 log2(float2 a);
>       float3 log2(float3 a);
>       float4 log2(float4 a);

>       half   log2(half a);
>       half1  log2(half1 a);
>       half2  log2(half2 a);
>       half3  log2(half3 a);
>       half4  log2(half4 a);

>       fixed  log2(fixed a);
>       fixed1 log2(fixed1 a);
>       fixed2 log2(fixed2 a);
>       fixed3 log2(fixed3 a);
>       fixed4 log2(fixed4 a);

> # PARAMETERS

> a

>   Vector or scalar of which to determine the base-2 logarithm.

> # DESCRIPTION

> Returns the base-2 logarithm a.

> For vectors, the returned vector contains the base-2 logarithm of each element of the input vector.

> # REFERENCE IMPLEMENTATION

>       float3 log2(float3 a)
>       {
>         float3 rv;
>         int i;

>         for (i=0; i<3; i++) {
>           rv[i] = log2(a[i]);  // this is the ANSI C standard library log2()
>         }
>         return rv;
>       }

> log2 is typically implemented with a native base-2 logarithm instruction.

> # PROFILE SUPPORT

> log2 is fully supported in all profiles unless otherwise specified.

> Support in the fp20 is limited to constant compile-time evaluation.

> # SEE ALSO

> exp, log, log10, pow