#ifndef strings_h | |
#define strings_h | |
/* MSVC doesn't define ffs/ffsl. This dummy strings.h header is provided | |
* for both */ | |
#include <intrin.h> | |
#pragma intrinsic(_BitScanForward) | |
static __forceinline int ffsl(long x) | |
{ | |
unsigned long i; | |
if (_BitScanForward(&i, x)) | |
return (i + 1); | |
return (0); | |
} | |
static __forceinline int ffs(int x) | |
{ | |
return (ffsl(x)); | |
} | |
#endif |