Open2

Windows SDKで整数演算

kenichiudakenichiuda

128ビット整数ビット演算

ShiftLeft128

2つの64ビット符号なし整数を左シフトした結果の、下位64ビットを返す。

ShiftRight128

2つの64ビット符号なし整数を右シフトした結果の、下位64ビットを返す。

128ビット整数乗算

UnsignedMultiply128

64ビット符号なし整数同士を掛け算した結果(128ビット符号なし整数)の、下位64ビットを戻り値で、上位64ビットを引数のポインターに設定して返す。

Multiply128

64ビット符号付き整数同士を掛け算した結果(128ビット符号付き整数)の、下位64ビットを戻り値で、上位64ビットを引数のポインターに設定して返す。

UnsignedMultiplyHigh

64ビット符号なし整数同士を掛け算した結果(128ビット符号なし整数)の、上位64ビットを返す。

MultiplyHigh

64ビット符号付き整数同士を掛け算した結果(128ビット符号付き整数)の、上位64ビットを返す。

UnsignedMultiplyExtract128

64ビット符号なし整数同士を掛け算した結果(128ビット符号付き整数)の、上位64ビットをシフト右シフトして返す。

Windows SDKではインライン関数として実装されている

MultiplyExtract128

64ビット符号付き整数同士を掛け算した結果(128ビット符号付き整数)の、上位64ビットをシフト右シフトして返す。

Windows SDKではインライン関数として実装されている

kenichiudakenichiuda

64 ビット演算

PopulationCount64

64ビット整数に対するPOPCNT。

MulDiv

32ビット符号付き整数同士を掛け算した結果(64ビット符号付き整数)を、32ビット符号付き整数で割った結果を返す。