sig
  type ('a, 'b, 'c) t
  val create :
    ('a, 'b) Bigarray.kind ->
    'Bigarray.layout -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t
  val dim1 : ('a, 'b, 'c) Bigarray.Array3.t -> int
  val dim2 : ('a, 'b, 'c) Bigarray.Array3.t -> int
  val dim3 : ('a, 'b, 'c) Bigarray.Array3.t -> int
  external kind : ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b) Bigarray.kind
    = "bigarray_kind"
  external layout : ('a, 'b, 'c) Bigarray.Array3.t -> 'Bigarray.layout
    = "bigarray_layout"
  external get : ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a
    = "%bigarray_ref_3"
  external set :
    ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> '-> unit
    = "%bigarray_set_3"
  external sub_left :
    ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t
    = "bigarray_sub"
  external sub_right :
    ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t
    = "bigarray_sub"
  val slice_left_1 :
    ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t
  val slice_right_1 :
    ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array1.t
  val slice_left_2 :
    ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t ->
    int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t
  val slice_right_2 :
    ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t ->
    int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t
  external blit :
    ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b, 'c) Bigarray.Array3.t -> unit
    = "bigarray_blit"
  external fill : ('a, 'b, 'c) Bigarray.Array3.t -> '-> unit
    = "bigarray_fill"
  val of_array :
    ('a, 'b) Bigarray.kind ->
    'Bigarray.layout ->
    'a array array array -> ('a, 'b, 'c) Bigarray.Array3.t
  val map_file :
    Unix.file_descr ->
    ('a, 'b) Bigarray.kind ->
    'Bigarray.layout ->
    bool -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t
end