module Array0:sig
..end
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.
type('a, 'b, 'c)
t =('a, 'b, 'c) Bigarray.Array0.t
The type of zero-dimensional big arrays whose elements have
OCaml type 'a
, representation kind 'b
, and memory layout 'c
.
val create : ('a, 'b) BatBigarray.kind ->
'c BatBigarray.layout -> ('a, 'b, 'c) t
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 BatBigarray.Genarray.create
.
val kind : ('a, 'b, 'c) t -> ('a, 'b) BatBigarray.kind
Return the kind of the given big array.
val layout : ('a, 'b, 'c) t -> 'c BatBigarray.layout
Return the layout of the given big array.
val change_layout : ('a, 'b, 'c) t ->
'd BatBigarray.layout -> ('a, 'b, 'd) t
Array0.change_layout a layout
returns a big array 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 BatBigarray.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
.
val blit : ('a, 'b, 'c) t ->
('a, 'b, 'c) t -> unit
Copy the first big array to the second big array.
See BatBigarray.Genarray.blit
for more details.
val fill : ('a, 'b, 'c) t -> 'a -> unit
Fill the given big array with the given value.
See BatBigarray.Genarray.fill
for more details.
val of_value : ('a, 'b) BatBigarray.kind ->
'c BatBigarray.layout -> 'a -> ('a, 'b, 'c) t
Build a zero-dimensional big array initialized from the given value.