Module Random


module Random: sig .. end
疑似乱数生成器


基本的な関数


val init : int -> unit
与えられた引数を種として乱数生成器を初期化します。 同一の種を与えると乱数生成器は常に同じ数の列を生成します。
val full_init : int array -> unit
Random.init と同じですが、種としてより多くのデータを受け取ります。
val self_init : unit -> unit
システム依存のある程度ランダムな方法で選んだ種で乱数生成器を初期化します。
val bits : unit -> int
ランダムな 30 個のビットの列を非負整数として返します。
Before 3.12.0 異なるアルゴリズムを使っていました(以下の関数すべてが影響を受けます)。
val int : int -> int
Random.int bound は 0 以上 bound 未満のランダムな整数を返します。 bound は 0 より大きく 230 未満でなければなりません。
val int32 : Int32.t -> Int32.t
Random.int32 bound は 0 以上 bound 未満のランダムな整数を返します。 bound は 0 より大きくなければなりません。
val nativeint : Nativeint.t -> Nativeint.t
Random.nativeint bound は 0 以上 bound 未満のランダムな整数を返します。 bound は 0 より大きくなければなりません。
val int64 : Int64.t -> Int64.t
Random.int64 bound は 0 以上 bound 未満のランダムな整数を返します。 bound は 0 より大きくなければなりません。
val float : float -> float
Random.float bound は 0 以上 bound 未満の浮動小数点数を返します。 bound が負の数の場合、戻り値は負の数か 0 になります。 bound が 0 の場合、戻り値は 0 になります。
val bool : unit -> bool
Random.bool ()truefalse をそれぞれ 0.5 の確率で返します。

高度な関数



State モジュールの関数は疑似乱数生成器の現在の状態を直接扱います。 これにより、マルチスレッドプログラムであっても、プログラムの他の部分に干渉されることなく、複数の乱数生成器を使うことができるようになります。
module State: sig .. end
val get_state : unit -> State.t
基本関数によって使われる乱数生成器の現在の状態を返します。
val set_state : State.t -> unit
基本関数によって使われる乱数成績の状態を設定します。