package ocaml-base-compiler
Zero-dimensional arrays. The Array0
structure provides operations similar to those of Bigarray.Genarray
, but specialized to the case of zero-dimensional arrays that only contain a single scalar value. Statically knowing the number of dimensions of the array allows faster operations, and more precise static type-checking.
The type of zero-dimensional Bigarrays whose elements have OCaml type 'a
, representation kind 'b
, and memory layout 'c
.
Array0.create kind layout
returns a new Bigarray of zero dimension. kind
and layout
determine the array element kind and the array layout as described for Genarray.create
.
Array0.init kind layout v
behaves like Array0.create kind layout
except that the element is additionally initialized to the value v
.
Array0.change_layout a layout
returns a Bigarray with the specified layout
, sharing the data with a
. No copying of elements is involved: the new array and the original array share the same storage space.
val size_in_bytes : ('a, 'b, 'c) t -> int
size_in_bytes a
is a
's kind_size_in_bytes
.
val get : ('a, 'b, 'c) t -> 'a
Array0.get a
returns the only element in a
.
val set : ('a, 'b, 'c) t -> 'a -> unit
Array0.set a x v
stores the value v
in a
.
Copy the first Bigarray to the second Bigarray. See Genarray.blit
for more details.
val fill : ('a, 'b, 'c) t -> 'a -> unit
Fill the given Bigarray with the given value. See Genarray.fill
for more details.