Embedded Artistry libc
C Standard Library Support for Bare-metal Systems
flsl.c File Reference
#include <strings.h>
Include dependency graph for flsl.c:

Go to the source code of this file.

Functions

int flsl (long mask)
 Finds the last (most significant) bit set in the given mask. More...
 

Function Documentation

◆ flsl()

int flsl ( long  mask)

Finds the last (most significant) bit set in the given mask.

Finds the last (most significant) bit set in the given (long) mask and return the index of that bit.

Bits are numbered starting at 1, the least significant bit.

Parameters
maskThe bit mask
Returns
The index of the bit if mask is not zero, 0 otherwise.

Definition at line 62 of file flsl.c.

63 {
64  if(mask == 0)
65  {
66  {
67  return (0);
68  }
69  }
70 
71  return ((int)sizeof(mask) << 3) - __builtin_clzl((unsigned long)mask);
72 }