1/* ffs -- Find the first bit set in the parameter 2 3@deftypefn Supplemental int ffs (int @var{valu}) 4 5Find the first (least significant) bit set in @var{valu}. Bits are 6numbered from right to left, starting with bit 1 (corresponding to the 7value 1). If @var{valu} is zero, zero is returned. 8 9@end deftypefn 10 11*/ 12 13int 14ffs (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