Bigarray.Array1 - One-dimensional arrays.
Module Bigarray.Array1
Module
Array1
:
sig end
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.
type ('a, 'b, 'c) t
The type of one-dimensional big arrays whose elements have OCaml type
'a
, representation kind
'b , and memory layout
'c .
val create :
('a, 'b) Bigarray.kind -> 'c Bigarray.layout
-> int -> ('a, 'b, 'c) t
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 .
val dim :
('a, 'b, 'c) t -> int
Return the size (dimension) of the given one-dimensional big array.
val kind :
('a, 'b, 'c) t -> ('a, 'b) Bigarray.kind
Return the kind of the given big array.
val layout :
('a, 'b, 'c) t -> 'c Bigarray.layout
Return the layout of the given big array.
val get :
('a, 'b, 'c) t -> int -> 'a
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 . Otherwise,
Invalid_argument is raised.
val set :
('a, 'b, 'c) t -> int -> 'a -> unit
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 ; otherwise,
Invalid_argument is raised.
val sub :
('a, 'b, 'c) t -> int -> int -> ('a, 'b, 'c)
t
Extract a sub-array of the given one-dimensional big array. See
Genarray.sub_left for more details.
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_array :
('a, 'b) Bigarray.kind -> 'c Bigarray.layout
-> 'a array -> ('a, 'b, 'c) t
Build a one-dimensional big array initialized from the given array.
val map_file :
Unix.file_descr -> ?pos:int64 ->
('a, 'b) Bigarray.kind -> 'c Bigarray.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.
val unsafe_get :
('a, 'b, 'c) t -> int -> 'a
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.
val unsafe_set :
('a, 'b, 'c) t -> int -> 'a -> unit
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.