blob: 46ba9d93a5ebcc1a0d45ab5d38acda2cea635274 [file] [log] [blame]
Marat Dukhan2ab3ccb2017-04-16 08:46:37 -04001#pragma once
2
3#include <stdint.h>
4
5
6inline static uint32_t bit_length(uint32_t n) {
7 const uint32_t n_minus_1 = n - 1;
8 if (n_minus_1 == 0) {
9 return 0;
10 } else {
11 return 32 - __builtin_clz(n_minus_1);
12 }
13}