module Random: Randomval init : int -> unitInitialize the generator, using the argument as a seed. The same seed will always yield the same sequence of numbers.
val full_init : int array -> unitSame as Random.init but takes more data as seed.
val self_init : unit -> unitInitialize the generator with a random seed chosen
in a system-dependent way. If /dev/urandom is available on
the host machine, it is used to provide a highly random initial
seed. Otherwise, a less random seed is computed from system
parameters (current time, process IDs).
val bits : unit -> intReturn 30 random bits in a nonnegative integer.
val int : int -> intRandom.int bound returns a random integer between 0 (inclusive)
and bound (exclusive). bound must be greater than 0 and less
than 230.
val full_int : int -> intRandom.full_int bound returns a random integer between 0 (inclusive)
and bound (exclusive). bound may be any positive integer.
If bound is less than 230, Random.full_int bound is equal to
Random.int bound. If bound is greater than 230 (on 64-bit systems
or non-standard environments, such as JavaScript), Random.full_int
returns a value, where Random.int raises Invalid_argument.
val int32 : Int32.t -> Int32.tRandom.int32 bound returns a random integer between 0 (inclusive)
and bound (exclusive). bound must be greater than 0.
val nativeint : Nativeint.t -> Nativeint.tRandom.nativeint bound returns a random integer between 0 (inclusive)
and bound (exclusive). bound must be greater than 0.
val int64 : Int64.t -> Int64.tRandom.int64 bound returns a random integer between 0 (inclusive)
and bound (exclusive). bound must be greater than 0.
val float : float -> floatRandom.float bound returns a random floating-point number
between 0 and bound (inclusive). If bound is
negative, the result is negative or zero. If bound is 0,
the result is 0.
val bool : unit -> boolRandom.bool () returns true or false with probability 0.5 each.
The functions from module Random.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.
module State:sig..end
val get_state : unit -> State.tReturn the current state of the generator used by the basic functions.
val set_state : State.t -> unitSet the state of the generator used by the basic functions.