vendor/allscale/utils/bitmanipulation.h
inline int countTrailingZeros(unsigned value) {
		#ifdef _MSC_VER
			unsigned long retVal = 0;
			if(_BitScanForward(&retVal, value))
				return retVal;
			// all zeros is undefined behavior, we simply return 32
			return 32;
		#else
			return __builtin_ctz(value);
		#endif
	}
/**
	* A wrapper function for counting trailing zeros
	*/
A wrapper function for counting trailing zeros
A wrapper function for counting trailing zeros
inline int countTrailingZeros(unsigned value) {
		#ifdef _MSC_VER
			unsigned long retVal = 0;
			if(_BitScanForward(&retVal, value))
				return retVal;
			return 32;
		#else
			return __builtin_ctz(value);
		#endif
	}
inline int countTrailingZeros ( unsigned value ) { #ifdef _MSC_VER unsigned long retVal = 0 ; if ( _BitScanForward ( & retVal , value ) ) return retVal ; return 32 ; #else return __builtin_ctz ( value ) ; #endif }
A wrapper function for counting trailing zeros
A wrapper function for counting trailing zeros
// all zeros is undefined behavior, we simply return 32