Random.State
val make : int array -> t
Create a new state and initialize it with the given seed.
val make_self_init : unit -> t
Create a new state and initialize it with a random seed chosen in a system-dependent way. The seed is obtained as described in Random.self_init
.
val bits : t -> int
val int : t -> int -> int
val full_int : t -> int -> int
val nativeint : t -> Nativeint.t -> Nativeint.t
val float : t -> float -> float
val bool : t -> bool
val nativebits : t -> Nativeint.t
These functions are the same as the basic functions, except that they use (and update) the given PRNG state instead of the default one.
Draw a fresh PRNG state from the given PRNG state. (The given PRNG state is modified.) The new PRNG is statistically independent from the given PRNG. Data can be drawn from both PRNGs, in any order, without risk of correlation. Both PRNGs can be split later, arbitrarily many times.
val to_binary_string : t -> string
Serializes the PRNG state into an immutable sequence of bytes. See of_binary_string
for deserialization.
The string
type is intended here for serialization only, the encoding is not human-readable and may not be printable.
Note that the serialization format may differ across OCaml versions.
val of_binary_string : string -> t
Deserializes a byte sequence obtained by calling to_binary_string
. The resulting PRNG state will produce the same random numbers as the state that was passed as input to to_binary_string
.