sig type (!'a, !'b, !'c) t val create : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> int -> int -> ('a, 'b, 'c) Bigarray.Array2.t val init : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> int -> int -> (int -> int -> 'a) -> ('a, 'b, 'c) Bigarray.Array2.t external dim1 : ('a, 'b, 'c) Bigarray.Array2.t -> int = "%caml_ba_dim_1" external dim2 : ('a, 'b, 'c) Bigarray.Array2.t -> int = "%caml_ba_dim_2" external kind : ('a, 'b, 'c) Bigarray.Array2.t -> ('a, 'b) Bigarray.kind = "caml_ba_kind" external layout : ('a, 'b, 'c) Bigarray.Array2.t -> 'c Bigarray.layout = "caml_ba_layout" val change_layout : ('a, 'b, 'c) Bigarray.Array2.t -> 'd Bigarray.layout -> ('a, 'b, 'd) Bigarray.Array2.t val size_in_bytes : ('a, 'b, 'c) Bigarray.Array2.t -> int external get : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a = "%caml_ba_ref_2" external set : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a -> unit = "%caml_ba_set_2" external sub_left : ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t -> int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t = "caml_ba_sub" external sub_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t -> int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t = "caml_ba_sub" val slice_left : ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t val slice_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array1.t external blit : ('a, 'b, 'c) Bigarray.Array2.t -> ('a, 'b, 'c) Bigarray.Array2.t -> unit = "caml_ba_blit" external fill : ('a, 'b, 'c) Bigarray.Array2.t -> 'a -> unit = "caml_ba_fill" val of_array : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> 'a array array -> ('a, 'b, 'c) Bigarray.Array2.t external unsafe_get : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a = "%caml_ba_unsafe_ref_2" external unsafe_set : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a -> unit = "%caml_ba_unsafe_set_2" end