`sig
type ('a, 'b, 'c) t
external create :
('a, 'b) Bigarray.kind ->
'c Bigarray.layout -> int array -> ('a, 'b, 'c) Bigarray.Genarray.t
= "caml_ba_create"
external num_dims : ('a, 'b, 'c) Bigarray.Genarray.t -> int
= "caml_ba_num_dims"
val dims : ('a, 'b, 'c) Bigarray.Genarray.t -> int array
external nth_dim : ('a, 'b, 'c) Bigarray.Genarray.t -> int -> int
= "caml_ba_dim"
external kind : ('a, 'b, 'c) Bigarray.Genarray.t -> ('a, 'b) Bigarray.kind
= "caml_ba_kind"
external layout : ('a, 'b, 'c) Bigarray.Genarray.t -> 'c Bigarray.layout
= "caml_ba_layout"
external change_layout :
('a, 'b, 'c) Bigarray.Genarray.t ->
'd Bigarray.layout -> ('a, 'b, 'd) Bigarray.Genarray.t
= "caml_ba_change_layout"
val size_in_bytes : ('a, 'b, 'c) Bigarray.Genarray.t -> int
external get : ('a, 'b, 'c) Bigarray.Genarray.t -> int array -> 'a
= "caml_ba_get_generic"
external set : ('a, 'b, 'c) Bigarray.Genarray.t -> int array -> 'a -> unit
= "caml_ba_set_generic"
external sub_left :
('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t ->
int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t
= "caml_ba_sub"
external sub_right :
('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t ->
int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t
= "caml_ba_sub"
external slice_left :
('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t ->
int array -> ('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t
= "caml_ba_slice"
external slice_right :
('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t ->
int array -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t
= "caml_ba_slice"
external blit :
('a, 'b, 'c) Bigarray.Genarray.t ->
('a, 'b, 'c) Bigarray.Genarray.t -> unit = "caml_ba_blit"
external fill : ('a, 'b, 'c) Bigarray.Genarray.t -> 'a -> unit
= "caml_ba_fill"
end`