sig   module Dense_real :     sig       val mat_struct :         Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes.typ       val vec_struct :         Owl_types.Dense_real.vec_struct Ctypes.structure Ctypes.typ       val gsl_vector_alloc :         (Unsigned.size_t ->          Owl_types.Dense_real.vec_struct Ctypes.structure Ctypes_static.ptr          Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_alloc :         (Unsigned.size_t ->          Unsigned.size_t ->          Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr          Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_get_col :         (Owl_types.Dense_real.vec_struct Ctypes.structure Ctypes_static.ptr ->          Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int -> int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_equal :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_isnull :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_ispos :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_isneg :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_isnonneg :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_min :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          float Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_min_index :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          Unsigned.size_t Ctypes_static.ptr ->          Unsigned.size_t Ctypes_static.ptr -> unit Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_max :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          float Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_max_index :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          Unsigned.size_t Ctypes_static.ptr ->          Unsigned.size_t Ctypes_static.ptr -> unit Ffi_generated.return)         Ffi_generated.result     end   module Dense_complex :     sig       val mat_struct :         Owl_types.Dense_complex.mat_struct Ctypes.structure Ctypes.typ       val vec_struct :         Owl_types.Dense_complex.vec_struct Ctypes.structure Ctypes.typ       val gsl_matrix_complex_equal :         (Owl_types.Dense_complex.mat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Dense_complex.mat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_complex_isnull :         (Owl_types.Dense_complex.mat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_complex_ispos :         (Owl_types.Dense_complex.mat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_complex_isneg :         (Owl_types.Dense_complex.mat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_matrix_complex_isnonneg :         (Owl_types.Dense_complex.mat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result     end   module Sparse_real :     sig       val spmat_struct :         Owl_types.Sparse_real.spmat_struct Ctypes.structure Ctypes.typ       val gsl_spmatrix_alloc :         (int ->          int ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_alloc_nzmax :         (int ->          int ->          int ->          int ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_set :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int -> int -> float -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_get :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int -> int -> float Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_add :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_scale :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> float -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_memcpy :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_compcol :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_minmax :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          float Ctypes_static.ptr ->          float Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_equal :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_transpose_memcpy :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_set_zero :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spblas_dgemm :         (float ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_d2sp :         (Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr ->          Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          int Ffi_generated.return)         Ffi_generated.result       val gsl_spmatrix_sp2d :         (Owl_types.Dense_real.mat_struct Ctypes.structure Ctypes_static.ptr ->          Owl_types.Sparse_real.spmat_struct Ctypes.structure          Ctypes_static.ptr -> int Ffi_generated.return)         Ffi_generated.result     end end