Bigarray.Array1
SourceOne-dimensional arrays. The Array1
structure provides operations similar to those of Bigarray.Genarray
, but specialized to the case of one-dimensional arrays. (The Array2
and Array3
structures below provide operations specialized for two- and three-dimensional arrays.) Statically knowing the number of dimensions of the array allows faster operations, and more precise static type-checking.
The type of one-dimensional Bigarrays whose elements have OCaml type 'a
, representation kind 'b
, and memory layout 'c
.
Array1.create kind layout dim
returns a new Bigarray of one dimension, whose size is dim
. kind
and layout
determine the array element kind and the array layout as described for Genarray.create
.
Array1.init kind layout dim f
returns a new Bigarray b
of one dimension, whose size is dim
. kind
and layout
determine the array element kind and the array layout as described for Genarray.create
.
Each element Array1.get b i
of the array is initialized to the result of f i
.
In other words, Array1.init kind layout dimensions f
tabulates the results of f
applied to the indices of a new Bigarray whose layout is described by kind
, layout
and dim
.
Return the size (dimension) of the given one-dimensional Bigarray.
Array1.change_layout a layout
returns a Bigarray with the specified layout
, sharing the data with a
(and hence having the same dimension as a
). No copying of elements is involved: the new array and the original array share the same storage space.
size_in_bytes a
is the number of elements in a
multiplied by a
's kind_size_in_bytes
.
Array1.get a x
, or alternatively a.{x}
, returns the element of a
at index x
. x
must be greater or equal than 0
and strictly less than Array1.dim a
if a
has C layout. If a
has Fortran layout, x
must be greater or equal than 1
and less or equal than Array1.dim a
. Otherwise, Invalid_argument
is raised.
Array1.set a x v
, also written a.{x} <- v
, stores the value v
at index x
in a
. x
must be inside the bounds of a
as described in Bigarray.Array1.get
; otherwise, Invalid_argument
is raised.
Extract a sub-array of the given one-dimensional Bigarray. See Genarray.sub_left
for more details.
Extract a scalar (zero-dimensional slice) of the given one-dimensional Bigarray. The integer parameter is the index of the scalar to extract. See Bigarray.Genarray.slice_left
and Bigarray.Genarray.slice_right
for more details.
Copy the first Bigarray to the second Bigarray. See Genarray.blit
for more details.
Fill the given Bigarray with the given value. See Genarray.fill
for more details.
Build a one-dimensional Bigarray initialized from the given array.
Like Bigarray.Array1.get
, but bounds checking is not always performed. Use with caution and only when the program logic guarantees that the access is within bounds.
Like Bigarray.Array1.set
, but bounds checking is not always performed. Use with caution and only when the program logic guarantees that the access is within bounds.