memory/jemalloc/src/include/msvc_compat/strings.h

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:07b42f0da4db
1 #ifndef strings_h
2 #define strings_h
3
4 /* MSVC doesn't define ffs/ffsl. This dummy strings.h header is provided
5 * for both */
6 #include <intrin.h>
7 #pragma intrinsic(_BitScanForward)
8 static __forceinline int ffsl(long x)
9 {
10 unsigned long i;
11
12 if (_BitScanForward(&i, x))
13 return (i + 1);
14 return (0);
15 }
16
17 static __forceinline int ffs(int x)
18 {
19
20 return (ffsl(x));
21 }
22
23 #endif

mercurial