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