sig
  val empty : int -> int -> Owl_algodiff_generic.Make.t
  val zeros : int -> int -> Owl_algodiff_generic.Make.t
  val uniform : ?scale:float -> int -> int -> Owl_algodiff_generic.Make.t
  val gaussian : ?sigma:float -> int -> int -> Owl_algodiff_generic.Make.t
  val shape : Owl_algodiff_generic.Make.t -> int * int
  val numel : Owl_algodiff_generic.Make.t -> int
  val row_num : Owl_algodiff_generic.Make.t -> int
  val col_num : Owl_algodiff_generic.Make.t -> int
  val reset : Owl_algodiff_generic.Make.t -> unit
  val reshape :
    int -> int -> Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val get :
    Owl_algodiff_generic.Make.t -> int -> int -> Owl_algodiff_generic.Make.t
  val set :
    Owl_algodiff_generic.Make.t ->
    int -> int -> Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val add :
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val sub :
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val mul :
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val div :
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val dot :
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val clip_by_l2norm :
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val mapi :
    (int ->
     int -> Owl_algodiff_generic.Make.elt -> Owl_algodiff_generic.Make.elt) ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val iter2_rows :
    (Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t -> unit) ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t -> unit
  val map_by_row :
    (Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
    Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
  val draw_rows2 :
    ?replacement:bool ->
    Owl_algodiff_generic.Make.t ->
    Owl_algodiff_generic.Make.t ->
    int ->
    Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t * int array
end