blob: cb5990d849e86e1ca720fe018bbdee383436bb06 [file] [log] [blame] [edit]
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#define __CRT__NO_INLINE
#include <windows.h>
/* 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;
}