Home | History | Annotate | Download | only in libiberty
      1 /* ffs -- Find the first bit set in the parameter
      2 
      3 @deftypefn Supplemental int ffs (int @var{valu})
      4 
      5 Find the first (least significant) bit set in @var{valu}.  Bits are
      6 numbered from right to left, starting with bit 1 (corresponding to the
      7 value 1).  If @var{valu} is zero, zero is returned.
      8 
      9 @end deftypefn
     10 
     11 */
     12 
     13 int
     14 ffs (register int valu)
     15 {
     16   register int bit;
     17 
     18   if (valu == 0)
     19     return 0;
     20 
     21   for (bit = 1; !(valu & 1); bit++)
     22   	valu >>= 1;
     23 
     24   return bit;
     25 }
     26 
     27