Commit 83006eec authored by Jean-Marc Valin's avatar Jean-Marc Valin
Browse files

fixed-point: using TI intrinsic for celt_ilog2() if available.

parent 983f6387
......@@ -59,4 +59,7 @@
#undef MULT_16_16
#define MULT_16_16(a,b) _lmpy(a,b)
#define celt_ilog2(x) (30 - _lnorm(x))
#define OVERRIDE_CELT_ILOG2
#endif /* FIXED_C5X_H */
......@@ -55,12 +55,15 @@
#include "entcode.h"
#include "os_support.h"
#ifndef OVERRIDE_CELT_ILOG2
/** Integer log in base2. Undefined for zero and negative numbers */
static inline celt_int16_t celt_ilog2(celt_word32_t x)
{
celt_assert2(x>0, "celt_ilog2() only defined for strictly positive numbers");
return EC_ILOG(x)-1;
}
#endif
/** Integer log in base2. Defined for zero, but not for negative numbers */
static inline celt_int16_t celt_zlog2(celt_word32_t x)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment