package batteries
Install
Dune Dependency
Authors
Maintainers
Sources
md5=ea26b5c72e6731e59d856626049cca4d
sha512=55975b62c26f6db77433a3ac31f97af609fc6789bb62ac38b267249c78fd44ff37fe81901f1cf560857b9493a6046dd37b0d1c0234c66bd59e52843aac3ce6cb
doc/batteries.unthreaded/BatBigarray/Array1/index.html
Module BatBigarray.Array1
Source
One-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 big arrays 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
.
Return the size (dimension) of the given one-dimensional big array.
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
.
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
;
Extract a sub-array of the given one-dimensional big array. See Genarray.sub_left
for more details.
Extract a scalar (zero-dimensional slice) of the given one-dimensional big array. 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 big array to the second big array. See Genarray.blit
for more details.
Fill the given big array with the given value. See Genarray.fill
for more details.
Build a one-dimensional big array initialized from the given array.
val map_file :
Unix.file_descr ->
?pos:int64 ->
('a, 'b) kind ->
'c layout ->
bool ->
int ->
('a, 'b, 'c) t
Memory mapping of a file as a one-dimensional big array. See Bigarray.Genarray.map_file
for more details.
Array1.enum e
returns an enumeration on the elements of e
. Contrarily to the multi-dimensional case, order of elements is specified: elements are in sequential order, from smaller to larger indices.
Array1.of_enum kind layout enum
returns a new one-dimensional big array of kind kind
and layout layout
, with elements taken from the enumeration enum
in order.
Array1.map f a
applies function f
to all the elements of a
, and builds a Bigarray.Array1.t
with the results returned by f
.
Same as Bigarray.Array1.map
, but the function is applied to the index of the element as the first argument, and the element itself as the second argument.
modify f a
changes each element x
in a
to f x
in-place.
Same as Bigarray.Array1.modify
, but the function is applied to the index of the element as the first argument, and the element itself as the second argument.
Build a one-dimensional array initialized from the given big array.
Unsafe operations
In case of doubt, don't use them.
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.