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

svrng_new_mt19937_engine、svrng_new_mt19937_ex

mt19937 エンジンのメモリー割り当てを行い、1 つまたは複数のシードで初期化するルーチンです。

構文

svrng_engine_t svrng_new_mt19937_engine( uint32_t seed )

svrng_engine_t svrng_new_mt19937_engine_ex( int num, uint32_t *pseed )

引数

seed

エンジンの初期状態。

num

拡張ルーチン向けの初期値の数。num>=0。mt19937 エンジンの拡張初期化の詳細は、「Notes for Intel® MKL Vector Statistical Library」を参照してください。

pseed

拡張ルーチン向けの初期値を含む配列へのポインター。

説明

svrng_new_mt19937_engine 関数は、mt19937 エンジン (C++11 標準) のメモリー割り当てを行い、1 つの seed 値で初期化します。関数の拡張バージョン svrng_new_mt19937_engine_ex は、複雑な初期化に対応するため、複数の値を受け付けます。mt19937 エンジンは、メモリーに 19937 ビットの状態を保持するため、ほかのエンジンと初期化が異なります。このエンジンの詳細は、「Notes for Intel® MKL Vector Statistical Library」を参照してください。

ステータスフラグ

名前

説明

SVRNG_STATUS_ERROR_MEMORY_ALLOC

メモリー割り当てに失敗

SVRNG_STATUS_ERROR_BAD_PARAM1

不正な引数: num

SVRNG_STATUS_ERROR_BAD_PARAM2

不正な引数: pseed

戻り値

初期化されたエンジンへのポインターまたは NULL (エラーの場合)。

アプリケーション・ノート

mt19937 は、GFSR (Generalized Feedback Shift Register) ジェネレーターを改良した 19937 ビットの状態を持つ、32 ビット乱数の Mersenne Twister 擬似乱数ジェネレーターです。範囲: [0,MAX)、MAX = 232

関連情報