• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)
ffsl(long x)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 
ffs(int x)17 static __forceinline int ffs(int x)
18 {
19 
20 	return (ffsl(x));
21 }
22 
23 #endif
24