MINOR: standard: add a simple popcount function

This function returns the number of ones in a word.
This commit is contained in:
Willy Tarreau 2012-11-19 12:11:07 +01:00
parent 332d7b0fa3
commit 37994f034c
1 changed files with 11 additions and 0 deletions

View File

@ -519,6 +519,17 @@ static inline unsigned int div64_32(unsigned long long o1, unsigned int o2)
return result;
}
/* Simple popcount implementation. It returns the number of ones in a word */
static inline unsigned int popcount(unsigned int a)
{
unsigned int cnt;
for (cnt = 0; a; a >>= 1) {
if (a & 1)
cnt++;
}
return cnt;
}
/* copies at most <n> characters from <src> and always terminates with '\0' */
char *my_strndup(const char *src, int n);