前のページ|次のページ

CALL STREAMINITルーチン

後続のRAND関数による乱数生成に使用するシード値を指定します。

カテゴリ: 乱数

構文

CALL STREAMINIT<(seed), 'TRNG'>; [Unix、Windows]
CALL STREAMINIT (seed); [z/os]

オプション引数

シード

整数のシード値です。

範囲 seed < 231 - 1
ヒント 正以外のシードを指定すると、CALL STREAMINITは無視されます。後続の乱数生成は、システムクロックからシードを設定します。

TRNG

True Random Number Generator (TRNG)を選択します。

制限事項 TRNG機能は、RDRAND命令に対応しているプロセッサのみで利用可能です(Ivy Bridge以降のプロセッサ)。
TRNG引数を指定すると、RAND関数のすべての呼び出しで、Intelプロセッサに組み込まれているTRNGが使用されます。引数または数値引数を指定しない場合、決定論的擬似乱数Mersenne Twister (メルセンヌツイスタ)ジェネレータが使用されます。

詳細

一般情報

乱数の再現可能なストリームを作成するには、RAND乱数関数を呼び出す前にCALL STREAMINITを指定します。CALL STREAMINITルーチンでシードを指定する前にRAND関数を呼び出すと(またはCALL STREAMINITルーチンで正以外のシード値を指定すると)、RAND関数はシステムクロックへの呼び出しを使用してシードを設定します。各DATAステップでは、1つのCALL STREAMINITシードが受け入れられます。優先されるシード値は、最初のRAND関数呼び出しが行われる直前に指定されるシード値です。シード値の詳細については、シード値を参照してください。

Windows固有の情報

TRNGにアクセスするには、TRNG引数を指定します。TRNGを指定すると、お使いのプロセッサでRDRANDがサポートされている場合は、次の注記が表示されます。
注: Random Number Generator (TRNG)が選択されています。非決定論的な振る舞いが予想されます。
お使いのプロセッサでRDRANDがサポートされていない場合は、次の注記が表示されます。
エラー:このシステムには、streaminitのオプション"TRNG"のハードウェアサポートがありません。システムクロックからシードを取得し、デフォルトの設定が使用されます。

例: 乱数の再現可能なストリームの作成

CALL STREAMINITでシード値を指定し、RAND関数で乱数の再現可能なストリームを作成する方法の例を次に示します。
data random;
   call streaminit(123);
   do i=1 to 10;
      x1=rand('cauchy');
      output; 
   end; 
proc print data=random; 
   id i; 
run;
CALL STREAMINITでシード設定した数値文字列
CALL STREAMINITでシード設定した数値文字列

関連項目:

関数:
前のページ|次のページ|ページの先頭へ