findLSB
Keywords: findLSB, NVIDIA, NVIDIA Cg Toolkit, Cg Toolkit, Shader, Shader Programming, GPU Shader Programming, GPU Program

> ## Name

> findLSB - return the number of the least significant set bit.

> ## Synopsis

>     int  findLSB(int  x)
>     int2 findLSB(int2 x)
>     int3 findLSB(int3 x)
>     int4 findLSB(int4 x)

>     int  findLSB(uint  x)
>     int2 findLSB(uint2 x)
>     int3 findLSB(uint3 x)
>     int4 findLSB(uint4 x)

> ## Parameters

> x
>   Bitfield to find LSB in.

> ## Description

> Returns the bit number of the least significant bit (value of 1) in the bitfield x. If no bits have the value 1 then -1 is returned.

> ## Reference Implementation

> findLSB for an int bitfield can be implemented like this:

>     int findLSB(int x)
>     {
>       int i;
>       int mask;
>       int res = -1;
>       for(i = 0; i < 32; i++) {
>         mask = 1 << i;
>         if (x & mask) {
>           res = i;
>           break;
>         }
>       }
>       return res;
>     }

> ## Profile Support

> findLSB is supported in gp5 and hlsl11 profiles.

> ## See Also

>       http://www.opengl.org/registry/specs/ARB/gpu_shader5.txt

> bitfieldExtract, bitfieldInsert, bitfieldReverse, bitCount and findMSB