sig
val init_bak : unit -> string
val bak_init : string -> unit
val prob_take : ('a -> float) -> 'a list -> 'a
val prob_extract : ('a -> float) -> 'a list -> 'a * 'a list
val init : int -> unit
val full_init : int array -> unit
val self_init : unit -> unit
val bits : unit -> int
val int : int -> int
val int32 : Int32.t -> Int32.t
val nativeint : Nativeint.t -> Nativeint.t
val int64 : Int64.t -> Int64.t
val float : float -> float
val bool : unit -> bool
module State :
sig
type t = Random.State.t
val make : int array -> UtilsLib.Random.State.t
val make_self_init : unit -> UtilsLib.Random.State.t
val copy : UtilsLib.Random.State.t -> UtilsLib.Random.State.t
val bits : UtilsLib.Random.State.t -> int
val int : UtilsLib.Random.State.t -> int -> int
val int32 : UtilsLib.Random.State.t -> Int32.t -> Int32.t
val nativeint : UtilsLib.Random.State.t -> Nativeint.t -> Nativeint.t
val int64 : UtilsLib.Random.State.t -> Int64.t -> Int64.t
val float : UtilsLib.Random.State.t -> float -> float
val bool : UtilsLib.Random.State.t -> bool
end
val get_state : unit -> UtilsLib.Random.State.t
val set_state : UtilsLib.Random.State.t -> unit
module Int : sig val range : int -> int -> int end
module Float : sig val range : float -> float -> float end
module Int32 : sig val range : int32 -> int32 -> int32 end
module Int64 : sig val range : int64 -> int64 -> int64 end
module List : sig val take : 'a list -> 'a end
module Array : sig val take : 'a array -> 'a end
end