sig
  external get_id_string : unit -> string = "mlmt_dsfmt_216091_get_id_string"
  val dsfmt_n : int
  val min_float_array_length : int
  type t
  external make_int32 : int32 -> Dsfmt_216091.t
    = "mlmt_dsfmt_216091_make_int32"
  external make_int32_array : int32 array -> Dsfmt_216091.t
    = "mlmt_dsfmt_216091_make_int32_array"
  val make : int array -> Dsfmt_216091.t
  val make_self_init : unit -> Dsfmt_216091.t
  external copy : Dsfmt_216091.t -> Dsfmt_216091.t = "mlmt_dsfmt_216091_copy"
  external bits52 : Dsfmt_216091.t -> (int64 [@unboxed])
    = "mlmt_dsfmt_216091_bits52" "mlmt_dsfmt_216091_bits52_unboxed"
    [@@noalloc]
  external float_bits52 : Dsfmt_216091.t -> (float [@unboxed])
    = "mlmt_dsfmt_216091_float_bits52"
    "mlmt_dsfmt_216091_float_bits52_unboxed" [@@noalloc]
  external float_bits52p1 : Dsfmt_216091.t -> (float [@unboxed])
    = "mlmt_dsfmt_216091_float_bits52p1"
    "mlmt_dsfmt_216091_float_bits52p1_unboxed" [@@noalloc]
  val fill_floatarray52 : Dsfmt_216091.t -> floatarray -> int -> int -> unit
  val fill_floatarray52p1 :
    Dsfmt_216091.t -> floatarray -> int -> int -> unit
  val int : Dsfmt_216091.t -> int -> int
  val int32 : Dsfmt_216091.t -> int32 -> int32
  val int64 : Dsfmt_216091.t -> int64 -> int64
  val nativeint : Dsfmt_216091.t -> nativeint -> nativeint
  val float : Dsfmt_216091.t -> float -> float
  val bool : Dsfmt_216091.t -> bool
  val import : int32 array * int -> Dsfmt_216091.t
  external export : Dsfmt_216091.t -> int32 array * int
    = "mlmt_dsfmt_216091_export"
end