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 float : float -> float
  val bool : unit -> bool
  type state
  val get_state : unit -> Random.state
  val set_state : Random.state -> unit
end