決定的な擬似乱数生成器(PCG-XSH-RR 32bit)。
実行環境に依存しない自前実装なのは、「同じシード→同じ島」の再現を将来にわたって保証するため。
列は用途ごとに分ける(forPurpose)。1本を共有すると、ある用途で引く回数を変えただけで、 触っていない用途の結果まで動く。ただし守れるのはそこまでで、上流が出した値が変われば下流は 動く——サイト配置を変えれば、命名の列を分けていても型も名前も変わる。
非公開
内部状態は64bit整数。numberでは精度が足りないためbigintで持つ。
静的
その用途の列を作る。同じ種でも用途が違えば無関係な列になる。
[0, 1) の一様乱数。
[minInclusive, maxExclusive) の一様な整数(Rngと同じ契約)。
32bitの生の出力。公開しているのは、参照実装と突き合わせる既知の乱数列がこの面だから ——nextDoubleは割った後の値なので、同じ列を突き合わせられない。
決定的な擬似乱数生成器(PCG-XSH-RR 32bit)。
実行環境に依存しない自前実装なのは、「同じシード→同じ島」の再現を将来にわたって保証するため。
列は用途ごとに分ける(forPurpose)。1本を共有すると、ある用途で引く回数を変えただけで、 触っていない用途の結果まで動く。ただし守れるのはそこまでで、上流が出した値が変われば下流は 動く——サイト配置を変えれば、命名の列を分けていても型も名前も変わる。