# Module Core_random.State

    module State: sig .. end

The functions from module `State` manipulate the current state of the random generator explicitely. This allows using one or several deterministic PRNGs, even in a multi-threaded program, without interference from other parts of the program.

    type t

    val default : t

    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

    val bits : t -> int

These functions are the same as the basic functions, except that they use (and update) the given PRNG state instead of the default one.

    val int : t -> int -> int

    val int32 : t -> Int32.t -> Int32.t

    val nativeint : t -> Nativeint.t -> Nativeint.t

    val int64 : t -> Int64.t -> Int64.t

    val float : t -> float -> float

    val bool : t -> bool