AdditiveRandom (クラス)
public AdditiveRandom {inherits Random}
パッケージ: CURL.LANGUAGE.MATH

加法合同擬似乱数ジェネレータ。

このジェネレータは、すべてのプラットフォームで、シリアル化とクローン化に同じシーケンスを生成します。

説明

このタイプのジェネレータは、線形合同法ほどは研究されていませんが、それよりもずっと長い周期を持っています。

返される数は、Lagged-Fibonacci数列です。このタイプのジェネレータは高精度のアプリケーションであるランダム ウォークおよび誕生日のテストで失敗する傾向があることが 1990 年代に発見されました。

数字の偏りは、55 の結果を取り、110 を破棄し、55 を取るなどの方法で改良できます。このタイプのジェネレータの理論上の理解はまだ非常に限られているので、他の欠点が将来発見される可能性があります。

たいていの使用では、LinearRandom ジェネレータを選択した方がいいでしょう。

これは、暗号化されたセキュアなジェネレータではありません。

コンストラクタ
clone-from:新しい加法合同乱数ジェネレータを作成します。
コンストラクタ public {AdditiveRandom.clone-from from:AdditiveRandom}
default:新しい加法合同乱数ジェネレータを作成します。
コンストラクタ public {AdditiveRandom.default seed-from:#Random = null}

メソッド
clone:現在の擬似乱数ジェネレータのクローンを作成します。
public {AdditiveRandom.clone}:AdditiveRandom
next-int32:[min-int32,max-int32] の範囲内の整数としてスケールを変えられた、擬似乱数列での次の数を返します。
public {AdditiveRandom.next-int32}:int32
メソッド 継承 Random: next-float, next-in-range, next-int16, next-int8, next-non-negative-int16, next-non-negative-int32, next-non-negative-int8, next-uint16, next-uint8
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
clone-from (コンストラクタ)
public {AdditiveRandom.clone-from from:AdditiveRandom}

新しい加法合同乱数ジェネレータを作成します。

from: selfseed は、from からコピーされます。


default (コンストラクタ)
public {AdditiveRandom.default seed-from:#Random = null}

新しい加法合同乱数ジェネレータを作成します。

seed-from: このジェネレータのシードに用いる別のジェネレータ。

seed-from が省略されている場合、ジェネレータは、それ自体をシードにしようとします。

同じ入力シーケンスで初期化すると、すべてのプラットフォームで同じ出力シーケンスが生成されます。

別の AdditiveRandom をシードに用いると、新しいジェネレータが元のジェネレータと同期化されます。






メソッド詳細
clone (メソッド)
public {AdditiveRandom.clone}:AdditiveRandom

現在の擬似乱数ジェネレータのクローンを作成します。

説明

派生クラスは、そのクラスの clone-from コンストラクタを呼び出すクローン実装を提供する必要があります。

クローン化されるときに、すべてのジェネレータが、同一シーケンスの提供を保証するわけではありません。Random から定義されるクラスのクローン化の意味は、それらのクラスのドキュメントに記述されています。


next-int32 (メソッド)
public {AdditiveRandom.next-int32}:int32

[min-int32,max-int32] の範囲内の整数としてスケールを変えられた、擬似乱数列での次の数を返します。

説明

派生クラスは、next-int のそれ自体の実装を提供する必要があります。その他すべての標準メソッドは、next-int に対する変換として実装されます。