Module BatRandom.State

module State: sig .. end

Manipulate the current state of the random generator.

This allows using one or several deterministic PRNGs, even in a multi-threaded program, without interference from other parts of the program.


type t = Stdlib.Random.State.t 

The type of PRNG states.

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 system-dependent low-entropy seed.

val copy : t -> t

Return a copy of the given state.

val bits : t -> int
val int : t -> int -> int
val int32 : t -> Stdlib.Int32.t -> Stdlib.Int32.t
val nativeint : t -> Stdlib.Nativeint.t -> Stdlib.Nativeint.t
val int64 : t -> Stdlib.Int64.t -> Stdlib.Int64.t
val float : t -> float -> float
val bool : t -> bool
val char : t -> char
val enum_bits : t -> unit -> int BatEnum.t
val enum_int : t -> int -> int BatEnum.t
val enum_bool : t -> unit -> bool BatEnum.t
val enum_float : t -> float -> float BatEnum.t
val enum_int32 : t -> Stdlib.Int32.t -> Stdlib.Int32.t BatEnum.t
val enum_int64 : t -> Stdlib.Int64.t -> Stdlib.Int64.t BatEnum.t
val enum_nativeint : t -> Stdlib.Nativeint.t -> Stdlib.Nativeint.t BatEnum.t
val enum_char : t -> unit -> char BatEnum.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.