sig
  external get_id_string : unit -> string = "mlmt_dsfmt_19937_get_id_string"
  val dsfmt_n : int
  val min_float_array_length : int
  type t
  external make_int32 : int32 -> Dsfmt_19937.t
    = "mlmt_dsfmt_19937_make_int32"
  external make_int32_array : int32 array -> Dsfmt_19937.t
    = "mlmt_dsfmt_19937_make_int32_array"
  val make : int array -> Dsfmt_19937.t
  val make_self_init : unit -> Dsfmt_19937.t
  external copy : Dsfmt_19937.t -> Dsfmt_19937.t = "mlmt_dsfmt_19937_copy"
  external bits52 : Dsfmt_19937.t -> (int64 [@unboxed])
    = "mlmt_dsfmt_19937_bits52" "mlmt_dsfmt_19937_bits52_unboxed" [@@noalloc]
  external float_bits52 : Dsfmt_19937.t -> (float [@unboxed])
    = "mlmt_dsfmt_19937_float_bits52" "mlmt_dsfmt_19937_float_bits52_unboxed"
    [@@noalloc]
  external float_bits52p1 : Dsfmt_19937.t -> (float [@unboxed])
    = "mlmt_dsfmt_19937_float_bits52p1"
    "mlmt_dsfmt_19937_float_bits52p1_unboxed" [@@noalloc]
  val fill_floatarray52 : Dsfmt_19937.t -> floatarray -> int -> int -> unit
  val fill_floatarray52p1 : Dsfmt_19937.t -> floatarray -> int -> int -> unit
  val int : Dsfmt_19937.t -> int -> int
  val int32 : Dsfmt_19937.t -> int32 -> int32
  val int64 : Dsfmt_19937.t -> int64 -> int64
  val nativeint : Dsfmt_19937.t -> nativeint -> nativeint
  val float : Dsfmt_19937.t -> float -> float
  val bool : Dsfmt_19937.t -> bool
  val import : int32 array * int -> Dsfmt_19937.t
  external export : Dsfmt_19937.t -> int32 array * int
    = "mlmt_dsfmt_19937_export"
end