sig
  type int_array =
      (int64, Bigarray.int64_elt, Bigarray.c_layout) Bigarray.Array1.t
  type elt_array =
      (Complex.t, Bigarray.complex64_elt, Bigarray.c_layout)
      Bigarray.Array2.t
  type mblk_struct
  val mblk_struct :
    Owl_types.Dense_complex.mblk_struct Ctypes.structure Ctypes.typ
  val msize :
    (int64, Owl_types.Dense_complex.mblk_struct Ctypes.structure)
    Ctypes.field
  val mdata :
    (Complex.t Ctypes_static.ptr,
     Owl_types.Dense_complex.mblk_struct Ctypes.structure)
    Ctypes.field
  type vec_struct
  val vec_struct :
    Owl_types.Dense_complex.vec_struct Ctypes.structure Ctypes.typ
  val vsize :
    (int64, Owl_types.Dense_complex.vec_struct Ctypes.structure) Ctypes.field
  val stride :
    (int64, Owl_types.Dense_complex.vec_struct Ctypes.structure) Ctypes.field
  val vdata :
    (Complex.t Ctypes_static.ptr,
     Owl_types.Dense_complex.vec_struct Ctypes.structure)
    Ctypes.field
  val vblock :
    (Owl_types.Dense_complex.mblk_struct Ctypes.structure Ctypes_static.ptr,
     Owl_types.Dense_complex.vec_struct Ctypes.structure)
    Ctypes.field
  val vowner :
    (int64, Owl_types.Dense_complex.vec_struct Ctypes.structure) Ctypes.field
  type mat_struct
  val mat_struct :
    Owl_types.Dense_complex.mat_struct Ctypes.structure Ctypes.typ
  val size1 :
    (int64, Owl_types.Dense_complex.mat_struct Ctypes.structure) Ctypes.field
  val size2 :
    (int64, Owl_types.Dense_complex.mat_struct Ctypes.structure) Ctypes.field
  val tda :
    (int64, Owl_types.Dense_complex.mat_struct Ctypes.structure) Ctypes.field
  val data :
    (Complex.t Ctypes_static.ptr,
     Owl_types.Dense_complex.mat_struct Ctypes.structure)
    Ctypes.field
  val block :
    (Owl_types.Dense_complex.mblk_struct Ctypes.structure Ctypes_static.ptr,
     Owl_types.Dense_complex.mat_struct Ctypes.structure)
    Ctypes.field
  val owner :
    (int64, Owl_types.Dense_complex.mat_struct Ctypes.structure) Ctypes.field
  type vec_record = {
    mutable vsize : int;
    mutable stride : int;
    mutable vdata : Owl_types.Dense_complex.elt_array;
    mutable vptr :
      Owl_types.Dense_complex.vec_struct Ctypes_static.structure
      Ctypes_static.ptr;
  }
end