#ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #define __CRT__NO_INLINE #include /* for __x86_64 only */ DWORD64 UnsignedMultiplyExtract128(DWORD64 Multiplier,DWORD64 Multiplicand,BYTE Shift) { DWORD64 extractedProduct; DWORD64 highProduct; DWORD64 lowProduct; lowProduct = UnsignedMultiply128(Multiplier,Multiplicand,&highProduct); extractedProduct = ShiftRight128(lowProduct,highProduct,Shift); return extractedProduct; }