インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

16/32/64 ビットの乱数整数を生成する組込み関数

RDRAND

ハードウェアによって生成される乱数値を返す組込み関数が 3 つあります。これらの組込み関数は、immintrin.h ヘッダーファイルで宣言されています。

これらの組込み関数は、1 つの RDRAND 命令にマップされます。ただし、_rdrand64_step() は例外です。この組込み関数は、32 ビットのプラットフォームでは、2 つの 32 ビット RDRAND 命令と複数のシフト命令および条件付きジャンプ/移動命令にマップされます。

RDSEED

ハードウェアによって生成される乱数値を返す組込み関数が 3 つあります。これらの組込み関数は、immintrin.h ヘッダーファイルで宣言されています。

これらの組込み関数は、RDSEED 命令に基づくコードシーケンスにマップされます。生成されるコードは、組込み関数が使用されているコンテキストとターゲット OS に依存します。