URL
https://opencores.org/ocsvn/or1k_old/or1k_old/trunk
Subversion Repositories or1k_old
[/] [or1k_old/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [misc/] [ffs.c] - Rev 1782
Compare with Previous | Blame | View Log
/* FUNCTION <<ffs>>---find first bit set in a word INDEX ffs ANSI_SYNOPSIS int ffs(int <[word]>); TRAD_SYNOPSIS int ffs(<[word]>); DESCRIPTION <<ffs>> returns the first bit set in a word. RETURNS <<ffs>> returns 0 if <[c]> is 0, 1 if <[c]> is odd, 2 if <[c]> is a multiple of 2, etc. PORTABILITY <<ffs>> is not ANSI C. No supporting OS subroutines are required. */ int ffs (word) int word; { int i; if (!word) return 0; i = 0; for (;;) { if (((1 << i++) & word) != 0) return i; } }