Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/celt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libcelt/ecintrin.h')
-rw-r--r--libcelt/ecintrin.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libcelt/ecintrin.h b/libcelt/ecintrin.h
index 4591d07..9222a3c 100644
--- a/libcelt/ecintrin.h
+++ b/libcelt/ecintrin.h
@@ -81,6 +81,9 @@
All other code should use EC_ILOG() instead.*/
#if defined(_MSC_VER)
# include <intrin.h>
+/*In _DEBUG mode this is not an intrinsic by default.*/
+# pragma intrinsic(_BitScanReverse)
+
static __inline int ec_bsr(unsigned long _x){
unsigned long ret;
_BitScanReverse(&ret,_x);
@@ -111,6 +114,8 @@ static __inline int ec_bsr(unsigned long _x){
When we need to, it can be special cased.*/
# define EC_ILOG(_x) (EC_CLZ0-EC_CLZ(_x))
#else
+int ec_ilog(ec_uint32 _v);
+
# define EC_ILOG(_x) (ec_ilog(_x))
#endif