diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/clog2.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/clog2.c b/src/lib/clog2.c index c6fe6f6cc8..b908762917 100644 --- a/src/lib/clog2.c +++ b/src/lib/clog2.c @@ -27,3 +27,18 @@ unsigned long log2(unsigned long x) return pow; } + +unsigned long log2_ceil(unsigned long x) +{ + unsigned long pow; + + if (! x) + return -1; + + pow = log2(x); + + if (x > (1ULL << pow)) + pow++; + + return pow; +} |