package ocaml-base-compiler

  1. Overview
  2. Docs

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.

  • since 4.05.0
type ('a, 'b, 'c) 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) kind -> 'c 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 Genarray.create.

val kind : ('a, 'b, 'c) t -> ('a, 'b) kind

Return the kind of the given big array.

val layout : ('a, 'b, 'c) t -> 'c layout

Return the layout of the given big array.

val change_layout : ('a, 'b, 'c) t -> 'd 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.

  • since 4.06.0
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.

val blit : ('a, 'b, 'c) t -> ('a, 'b, 'c) t -> unit

Copy the first big array to the second big array. See Genarray.blit for more details.

val fill : ('a, 'b, 'c) t -> 'a -> unit

Fill the given big array with the given value. See Genarray.fill for more details.

val of_value : ('a, 'b) kind -> 'c layout -> 'a -> ('a, 'b, 'c) t

Build a zero-dimensional big array initialized from the given value.


Innovation. Community. Security.