rStats.js v1.3.0
    検索インデックスを準備しています...

    Function nextRNGStream

    • L'Ecuyer-CMRG の次のストリームの開始状態です。状態を 2^127 ステップ進めたものです。R の parallel::nextRNGStream() と同等です。

      この方法で始めたストリームは、実用上どれだけ長く使っても重なりません。そのため、並列処理の各タスク (ワーカー、またはシミュレーションの 1 回の反復) に、再現できる形で固有のストリームを割り当てられます。ストリームの中では、nextRNGSubStream で 2^76 ステップのサブストリームが得られます。

      Parameters

      • state: ArrayLike<number>

        getRandomSeed が RNGkind({ kind: "L'Ecuyer-CMRG" }) の後に返した、7 個の整数からなる状態、または R の .Random.seed からコピーした状態。

      戻り値 Int32Array

      同じ形式の新しい状態 (先頭の要素である種類コードは変わりません)。そのストリームから乱数を生成するには、これを setRandomSeed に渡します。

      state が有効な L'Ecuyer-CMRG の状態でない場合は RangeError を投げます。

      RNGkind({ kind: "L'Ecuyer-CMRG" });
      setSeed(1);
      const s1 = getRandomSeed();
      const s2 = nextRNGStream(s1); // R: s2 <- parallel::nextRNGStream(.Random.seed)
      setRandomSeed(s2);
      runif(2); // [0.31369782407981056, 0.9280126525616814]