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