Module Bigarray.Array3

`module Array3: `sig  end``
Three-dimensional arrays. The `Array3` structure provides operations similar to those of `Bigarray.Genarray`, but specialized to the case of three-dimensional arrays.

`type ('a, 'b, 'c) t `
The type of three-dimensional big arrays whose elements have Caml type `'a`, representation kind `'b`, and memory layout `'c`.

`val create : `('a, 'b) Bigarray.kind ->       'c Bigarray.layout -> int -> int -> int -> ('a, 'b, 'c) t``
`Array3.create kind layout dim1 dim2 dim3` returns a new bigarray of three dimension, whose size is `dim1` in the first dimension, `dim2` in the second dimension, and `dim3` in the third. `kind` and `layout` determine the array element kind and the array layout as described for `Bigarray.Genarray.create`.
`val dim1 : `('a, 'b, 'c) t -> int``
Return the first dimension of the given three-dimensional big array.
`val dim2 : `('a, 'b, 'c) t -> int``
Return the second dimension of the given three-dimensional big array.
`val dim3 : `('a, 'b, 'c) t -> int``
Return the third dimension of the given three-dimensional big array.
`val kind : `('a, 'b, 'c) t -> ('a, 'b) Bigarray.kind``
Return the kind of the given big array.
`val layout : `('a, 'b, 'c) t -> 'c Bigarray.layout``
Return the layout of the given big array.
`val get : `('a, 'b, 'c) t -> int -> int -> int -> 'a``
`Array3.get a x y z`, also written `a.{x,y,z}`, returns the element of `a` at coordinates (`x`, `y`, `z`). `x`, `y` and `z` must be within the bounds of `a`, as described for `Bigarray.Genarray.get`; otherwise, `Invalid_arg` is raised.
`val set : `('a, 'b, 'c) t -> int -> int -> int -> 'a -> unit``
`Array3.set a x y v`, or alternatively `a.{x,y,z} <- v`, stores the value `v` at coordinates (`x`, `y`, `z`) in `a`. `x`, `y` and `z` must be within the bounds of `a`, as described for `Bigarray.Genarray.set`; otherwise, `Invalid_arg` is raised.
`val sub_left : `('a, 'b, Bigarray.c_layout) t ->       int -> int -> ('a, 'b, Bigarray.c_layout) t``
Extract a three-dimensional sub-array of the given three-dimensional big array by restricting the first dimension. See `Bigarray.Genarray.sub_left` for more details. `Array3.sub_left` applies only to arrays with C layout.
`val sub_right : `('a, 'b, Bigarray.fortran_layout) t ->       int -> int -> ('a, 'b, Bigarray.fortran_layout) t``
Extract a three-dimensional sub-array of the given three-dimensional big array by restricting the second dimension. See `Bigarray.Genarray.sub_right` for more details. `Array3.sub_right` applies only to arrays with Fortran layout.
`val slice_left_1 : `('a, 'b, Bigarray.c_layout) t ->       int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t``
Extract a one-dimensional slice of the given three-dimensional big array by fixing the first two coordinates. The integer parameters are the coordinates of the slice to extract. See `Bigarray.Genarray.slice_left` for more details. `Array3.slice_left_1` applies only to arrays with C layout.
`val slice_right_1 : `('a, 'b, Bigarray.fortran_layout) t ->       int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array1.t``
Extract a one-dimensional slice of the given three-dimensional big array by fixing the last two coordinates. The integer parameters are the coordinates of the slice to extract. See `Bigarray.Genarray.slice_right` for more details. `Array3.slice_right_1` applies only to arrays with Fortran layout.
`val slice_left_2 : `('a, 'b, Bigarray.c_layout) t ->       int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t``
Extract a two-dimensional slice of the given three-dimensional big array by fixing the first coordinate. The integer parameter is the first coordinate of the slice to extract. See `Bigarray.Genarray.slice_left` for more details. `Array3.slice_left_2` applies only to arrays with C layout.
`val slice_right_2 : `('a, 'b, Bigarray.fortran_layout) t ->       int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t``
Extract a two-dimensional slice of the given three-dimensional big array by fixing the last coordinate. The integer parameter is the coordinate of the slice to extract. See `Bigarray.Genarray.slice_right` for more details. `Array3.slice_right_2` applies only to arrays with Fortran layout.
`val blit : `('a, 'b, 'c) t -> ('a, 'b, 'c) t -> unit``
Copy the first big array to the second big array. See `Bigarray.Genarray.blit` for more details.
`val fill : `('a, 'b, 'c) t -> 'a -> unit``
Fill the given big array with the given value. See `Bigarray.Genarray.fill` for more details.
`val of_array : `('a, 'b) Bigarray.kind ->       'c Bigarray.layout -> 'a array array array -> ('a, 'b, 'c) t``
Build a three-dimensional big array initialized from the given array of arrays of arrays.
`val map_file : `Unix.file_descr ->       ('a, 'b) Bigarray.kind ->       'c Bigarray.layout ->       bool -> int -> int -> int -> ('a, 'b, 'c) t``
Memory mapping of a file as a three-dimensional big array. See `Bigarray.Genarray.map_file` for more details.