sig
  type ('a, 'b, 'c) t = ('a, 'b, 'c) Bigarray.Array0.t
  val create :
    ('a, 'b) BatBigarray.kind ->
    'BatBigarray.layout -> ('a, 'b, 'c) BatBigarray.Array0.t
  external kind :
    ('a, 'b, 'c) BatBigarray.Array0.t -> ('a, 'b) BatBigarray.kind
    = "caml_ba_kind"
  external layout :
    ('a, 'b, 'c) BatBigarray.Array0.t -> 'BatBigarray.layout
    = "caml_ba_layout"
  val change_layout :
    ('a, 'b, 'c) BatBigarray.Array0.t ->
    'BatBigarray.layout -> ('a, 'b, 'd) BatBigarray.Array0.t
  val size_in_bytes : ('a, 'b, 'c) BatBigarray.Array0.t -> int
  val get : ('a, 'b, 'c) BatBigarray.Array0.t -> 'a
  val set : ('a, 'b, 'c) BatBigarray.Array0.t -> '-> unit
  external blit :
    ('a, 'b, 'c) BatBigarray.Array0.t ->
    ('a, 'b, 'c) BatBigarray.Array0.t -> unit = "caml_ba_blit"
  external fill : ('a, 'b, 'c) BatBigarray.Array0.t -> '-> unit
    = "caml_ba_fill"
  val of_value :
    ('a, 'b) BatBigarray.kind ->
    'BatBigarray.layout -> '-> ('a, 'b, 'c) BatBigarray.Array0.t
end