package base

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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

Obtaining multiple generators with good independence properties is nontrivial; see Splittable_random.

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 : ?allow_in_tests:bool -> 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 -> int32
val nativeint : t -> nativeint -> nativeint
val int64 : t -> int64 -> int64
val float : t -> float -> float
val bool : t -> bool