`sig
val init : int -> unit
val full_init : int array -> unit
val self_init : unit -> unit
val bits : unit -> int
val int : int -> int
val full_int : int -> int
val int_in_range : min:int -> max:int -> int
val int32 : Stdlib.Int32.t -> Stdlib.Int32.t
val int32_in_range : min:int32 -> max:int32 -> int32
val nativeint : Stdlib.Nativeint.t -> Stdlib.Nativeint.t
val nativeint_in_range : min:nativeint -> max:nativeint -> nativeint
val int64 : Stdlib.Int64.t -> Stdlib.Int64.t
val int64_in_range : min:int64 -> max:int64 -> int64
val float : float -> float
val bool : unit -> bool
val bits32 : unit -> Stdlib.Int32.t
val bits64 : unit -> Stdlib.Int64.t
val nativebits : unit -> Stdlib.Nativeint.t
module State :
sig
type t
val make : int array -> Random.State.t
val make_self_init : unit -> Random.State.t
val copy : Random.State.t -> Random.State.t
val bits : Random.State.t -> int
val int : Random.State.t -> int -> int
val full_int : Random.State.t -> int -> int
val int_in_range : Random.State.t -> min:int -> max:int -> int
val int32 : Random.State.t -> Stdlib.Int32.t -> Stdlib.Int32.t
val int32_in_range : Random.State.t -> min:int32 -> max:int32 -> int32
val nativeint :
Random.State.t -> Stdlib.Nativeint.t -> Stdlib.Nativeint.t
val nativeint_in_range :
Random.State.t -> min:nativeint -> max:nativeint -> nativeint
val int64 : Random.State.t -> Stdlib.Int64.t -> Stdlib.Int64.t
val int64_in_range : Random.State.t -> min:int64 -> max:int64 -> int64
val float : Random.State.t -> float -> float
val bool : Random.State.t -> bool
val bits32 : Random.State.t -> Stdlib.Int32.t
val bits64 : Random.State.t -> Stdlib.Int64.t
val nativebits : Random.State.t -> Stdlib.Nativeint.t
val split : Random.State.t -> Random.State.t
val to_binary_string : Random.State.t -> string
val of_binary_string : string -> Random.State.t
end
val get_state : unit -> Random.State.t
val set_state : Random.State.t -> unit
val split : unit -> Random.State.t
end`