sig
  type ('a, 'b, 'c) t
  val create :
    ('a, 'b) Bigarray.kind ->
    'c Bigarray.layout -> int -> ('a, 'b, 'c) Bigarray.Array1.t
  val dim : ('a, 'b, 'c) Bigarray.Array1.t -> int
  external get : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a
    = "%bigarray_ref_1"
  external set : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a -> unit
    = "%bigarray_set_1"
  external sub :
    ('a, 'b, 'c) Bigarray.Array1.t ->
    int -> int -> ('a, 'b, 'c) Bigarray.Array1.t = "bigarray_sub"
  external blit :
    ('a, 'b, 'c) Bigarray.Array1.t -> ('a, 'b, 'c) Bigarray.Array1.t -> unit
    = "bigarray_blit"
  external fill : ('a, 'b, 'c) Bigarray.Array1.t -> 'a -> unit
    = "bigarray_fill"
  val of_array :
    ('a, 'b) Bigarray.kind ->
    'c Bigarray.layout -> 'a array -> ('a, 'b, 'c) Bigarray.Array1.t
  val map_file :
    Unix.file_descr ->
    ('a, 'b) Bigarray.kind ->
    'c Bigarray.layout -> bool -> int -> ('a, 'b, 'c) Bigarray.Array1.t
end