mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
Add new clz function which works with input 0.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
This commit is contained in:
committed by
Erik de Castro Lopo
parent
d69e807e10
commit
7b37472a2f
@@ -64,7 +64,6 @@ static inline unsigned int FLAC__clz_soft_uint32(unsigned int word)
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (word) > 0xffffff ? byte_to_unary_table[(word) >> 24] :
|
return (word) > 0xffffff ? byte_to_unary_table[(word) >> 24] :
|
||||||
!(word) ? 32 :
|
|
||||||
(word) > 0xffff ? byte_to_unary_table[(word) >> 16] + 8 :
|
(word) > 0xffff ? byte_to_unary_table[(word) >> 16] + 8 :
|
||||||
(word) > 0xff ? byte_to_unary_table[(word) >> 8] + 16 :
|
(word) > 0xff ? byte_to_unary_table[(word) >> 8] + 16 :
|
||||||
byte_to_unary_table[(word)] + 24;
|
byte_to_unary_table[(word)] + 24;
|
||||||
@@ -88,6 +87,14 @@ static inline unsigned int FLAC__clz_uint32(FLAC__uint32 v)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This one works with input 0 */
|
||||||
|
static inline unsigned int FLAC__clz2_uint32(FLAC__uint32 v)
|
||||||
|
{
|
||||||
|
if (!v)
|
||||||
|
return 32;
|
||||||
|
return FLAC__clz_uint32(v);
|
||||||
|
}
|
||||||
|
|
||||||
/* An example of what FLAC__bitmath_ilog2() computes:
|
/* An example of what FLAC__bitmath_ilog2() computes:
|
||||||
*
|
*
|
||||||
* ilog2( 0) = undefined
|
* ilog2( 0) = undefined
|
||||||
|
|||||||
Reference in New Issue
Block a user