| Last change
 on this file since 2358 was             2, checked in by bird, 23 years ago | 
        
          | 
Initial revision
 | 
        
          | 
              
Property                 cvs2svn:cvs-rev
 set to                 1.1
Property                 svn:eol-style
 set to                 native
Property                 svn:executable
 set to                 * | 
        
          | File size:
            473 bytes | 
      
      
| Line |  | 
|---|
| 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 (valu) | 
|---|
| 15 | register int valu; | 
|---|
| 16 | { | 
|---|
| 17 | register int bit; | 
|---|
| 18 |  | 
|---|
| 19 | if (valu == 0) | 
|---|
| 20 | return 0; | 
|---|
| 21 |  | 
|---|
| 22 | for (bit = 1; !(valu & 1); bit++) | 
|---|
| 23 | valu >>= 1; | 
|---|
| 24 |  | 
|---|
| 25 | return bit; | 
|---|
| 26 | } | 
|---|
| 27 |  | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.