Module BatBigarray.Array0

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.