sig   type int_array =       (int64, Bigarray.int64_elt, Bigarray.c_layout) Bigarray.Array1.t   type elt_array =       (float, Bigarray.float64_elt, Bigarray.c_layout) Bigarray.Array1.t   type spmat_struct   val spmat_struct :     Owl_types.Sparse_real.spmat_struct Ctypes.structure Ctypes.typ   val sp_size1 :     (int64, Owl_types.Sparse_real.spmat_struct Ctypes.structure) Ctypes.field   val sp_size2 :     (int64, Owl_types.Sparse_real.spmat_struct Ctypes.structure) Ctypes.field   val sp_i :     (int64 Ctypes_static.ptr,      Owl_types.Sparse_real.spmat_struct Ctypes.structure)     Ctypes.field   val sp_data :     (float Ctypes_static.ptr,      Owl_types.Sparse_real.spmat_struct Ctypes.structure)     Ctypes.field   val sp_p :     (int64 Ctypes_static.ptr,      Owl_types.Sparse_real.spmat_struct Ctypes.structure)     Ctypes.field   val sp_nzmax :     (int64, Owl_types.Sparse_real.spmat_struct Ctypes.structure) Ctypes.field   val sp_nz :     (int64, Owl_types.Sparse_real.spmat_struct Ctypes.structure) Ctypes.field   val sp_tree :     (unit Ctypes_static.ptr,      Owl_types.Sparse_real.spmat_struct Ctypes.structure)     Ctypes.field   val sp_work :     (unit Ctypes_static.ptr,      Owl_types.Sparse_real.spmat_struct Ctypes.structure)     Ctypes.field   val sp_type :     (int64, Owl_types.Sparse_real.spmat_struct Ctypes.structure) Ctypes.field   type spmat_record = {     mutable m : int;     mutable n : int;     mutable i : Owl_types.Sparse_real.int_array;     mutable d : Owl_types.Sparse_real.elt_array;     mutable p : Owl_types.Sparse_real.int_array;     mutable nz : int;     mutable typ : int;     mutable ptr :       Owl_types.Sparse_real.spmat_struct Ctypes_static.structure       Ctypes_static.ptr;   } end