Module Bigarray.Array1Source
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 Bigarrays whose elements have OCaml type 'a, representation kind 'b, and memory layout 'c.
val create :
('a : any) ('b : any) ('c : any). ('a, 'b) kind ->
'c layout ->
int ->
('a, 'b, 'c) t @ uniqueArray1.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 init :
('a : value_or_null) ('b : any) ('c : any). ('a, 'b) kind ->
'c layout ->
int ->
(int -> 'a) @ local ->
('a, 'b, 'c) t @ uniqueArray1.init kind layout dim f returns a new Bigarray b of one dimension, whose size is dim. kind and layout determine the array element kind and the array layout as described for Genarray.create.
Each element Array1.get b i of the array is initialized to the result of f i.
In other words, Array1.init kind layout dimensions f tabulates the results of f applied to the indices of a new Bigarray whose layout is described by kind, layout and dim.
Return the size (dimension) of the given one-dimensional Bigarray.
val kind :
('a : any) ('b : any) ('c : any). ('a, 'b, 'c) t @ immutable ->
('a, 'b) kind @@ statelessReturn the kind of the given Bigarray.
val layout :
('a : any) ('b : any) ('c : any). ('a, 'b, 'c) t @ immutable ->
'c layout @@ statelessReturn the layout of the given Bigarray.
val change_layout :
('a : any) ('b : any) ('c : any). ('a, 'b, 'c) t ->
'd layout ->
('a, 'b, 'd) tArray1.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. Otherwise, Invalid_argument is raised.
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.
Extract a sub-array of the given one-dimensional Bigarray. See Genarray.sub_left for more details.
Extract a scalar (zero-dimensional slice) of the given one-dimensional Bigarray. The integer parameter is the index of the scalar to extract. See Bigarray.Genarray.slice_left and Bigarray.Genarray.slice_right for more details.
val blit :
('a : any) ('b : any) ('c : any). ('a, 'b, 'c) t @ shared ->
('a, 'b, 'c) t ->
unitCopy the first Bigarray to the second Bigarray. See Genarray.blit for more details.
Fill the given Bigarray with the given value. See Genarray.fill for more details.
val of_array :
('a : value_or_null mod separable) ('b : any) ('c : any). ('a, 'b) kind ->
'c layout ->
'a array @ local ->
('a, 'b, 'c) t @ uniqueBuild a one-dimensional Bigarray initialized from the given array.
val unsafe_get :
('a : value_or_null) ('b : any) ('c : any). ('a, 'b, 'c) t @ shared ->
int ->
'aLike 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 : value_or_null) ('b : any) ('c : any). ('a, 'b, 'c) t ->
int ->
'a ->
unitLike 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.