Module Bigarray.Array2
Two-dimensional arrays. The Array2 structure provides operations similar to those of Bigarray.Genarray, but specialized to the case of two-dimensional arrays.
type ('a, 'b, 'c) tThe type of two-dimensional Bigarrays whose elements have OCaml type
'a, representation kind'b, and memory layout'c.
val create : ('a, 'b) kind -> 'c layout -> int -> int -> ('a, 'b, 'c) tArray2.create kind layout dim1 dim2returns a new Bigarray of two dimension, whose size isdim1in the first dimension anddim2in the second dimension.kindandlayoutdetermine the array element kind and the array layout as described forBigarray.Genarray.create.
val dim1 : ('a, 'b, 'c) t -> intReturn the first dimension of the given two-dimensional Bigarray.
val dim2 : ('a, 'b, 'c) t -> intReturn the second dimension of the given two-dimensional Bigarray.
val change_layout : ('a, 'b, 'c) t -> 'd layout -> ('a, 'b, 'd) tArray2.change_layout a layoutreturns a Bigarray with the specifiedlayout, sharing the data witha(and hence having the same dimensions asa). No copying of elements is involved: the new array and the original array share the same storage space. The dimensions are reversed, such thatget v [| a; b |]in C layout becomesget v [| b+1; a+1 |]in Fortran layout.- since
- 4.06.0
val size_in_bytes : ('a, 'b, 'c) t -> intsize_in_bytes ais the number of elements inamultiplied bya'skind_size_in_bytes.- since
- 4.03.0
val get : ('a, 'b, 'c) t -> int -> int -> 'aArray2.get a x y, also writtena.{x,y}, returns the element ofaat coordinates (x,y).xandymust be within the bounds ofa, as described forBigarray.Genarray.get; otherwise,Invalid_argumentis raised.
val set : ('a, 'b, 'c) t -> int -> int -> 'a -> unitArray2.set a x y v, or alternativelya.{x,y} <- v, stores the valuevat coordinates (x,y) ina.xandymust be within the bounds ofa, as described forBigarray.Genarray.set; otherwise,Invalid_argumentis raised.
val sub_left : ('a, 'b, c_layout) t -> int -> int -> ('a, 'b, c_layout) tExtract a two-dimensional sub-array of the given two-dimensional Bigarray by restricting the first dimension. See
Bigarray.Genarray.sub_leftfor more details.Array2.sub_leftapplies only to arrays with C layout.
val sub_right : ('a, 'b, fortran_layout) t -> int -> int -> ('a, 'b, fortran_layout) tExtract a two-dimensional sub-array of the given two-dimensional Bigarray by restricting the second dimension. See
Bigarray.Genarray.sub_rightfor more details.Array2.sub_rightapplies only to arrays with Fortran layout.
val slice_left : ('a, 'b, c_layout) t -> int -> ('a, 'b, c_layout) Array1.tExtract a row (one-dimensional slice) of the given two-dimensional Bigarray. The integer parameter is the index of the row to extract. See
Bigarray.Genarray.slice_leftfor more details.Array2.slice_leftapplies only to arrays with C layout.
val slice_right : ('a, 'b, fortran_layout) t -> int -> ('a, 'b, fortran_layout) Array1.tExtract a column (one-dimensional slice) of the given two-dimensional Bigarray. The integer parameter is the index of the column to extract. See
Bigarray.Genarray.slice_rightfor more details.Array2.slice_rightapplies only to arrays with Fortran layout.
val blit : ('a, 'b, 'c) t -> ('a, 'b, 'c) t -> unitCopy the first Bigarray to the second Bigarray. See
Bigarray.Genarray.blitfor more details.
val fill : ('a, 'b, 'c) t -> 'a -> unitFill the given Bigarray with the given value. See
Bigarray.Genarray.fillfor more details.
val of_array : ('a, 'b) kind -> 'c layout -> 'a array array -> ('a, 'b, 'c) tBuild a two-dimensional Bigarray initialized from the given array of arrays.
val unsafe_get : ('a, 'b, 'c) t -> int -> int -> 'aLike
Bigarray.Array2.get, but bounds checking is not always performed.
val unsafe_set : ('a, 'b, 'c) t -> int -> int -> 'a -> unitLike
Bigarray.Array2.set, but bounds checking is not always performed.