add FLAC__bitmath_ilog2_wide()

This commit is contained in:
Josh Coalson 2004-11-09 01:22:35 +00:00
parent 2757af6c1d
commit 375810ebdd
2 changed files with 12 additions and 2 deletions

View File

@ -54,7 +54,16 @@
* ilog2(17) = 4
* ilog2(18) = 4
*/
unsigned FLAC__bitmath_ilog2(unsigned v)
unsigned FLAC__bitmath_ilog2(FLAC__uint32 v)
{
unsigned l = 0;
FLAC__ASSERT(v > 0);
while(v >>= 1)
l++;
return l;
}
unsigned FLAC__bitmath_ilog2_wide(FLAC__uint64 v)
{
unsigned l = 0;
FLAC__ASSERT(v > 0);

View File

@ -34,7 +34,8 @@
#include "FLAC/ordinals.h"
unsigned FLAC__bitmath_ilog2(unsigned v);
unsigned FLAC__bitmath_ilog2(FLAC__uint32 v);
unsigned FLAC__bitmath_ilog2_wide(FLAC__uint64 v);
unsigned FLAC__bitmath_silog2(int v);
unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v);