module Array:sig
..end
type'a
t ='a array
val rev : 'a array -> 'a array
Array reversal.
val rev_in_place : 'a array -> unit
In-place array reversal. The array argument is updated.
val iter2 : ('a -> 'b -> unit) -> 'a array -> 'b array -> unit
Array.iter2 f [|a1; ...; an|] [|b1; ...; bn|]
performs
calls f a1 b1; ...; f an bn
in that order.
Invalid_argument
if the length of a1
does not equal the
length of a2
.val map2 : ('a -> 'b -> 'c) -> 'a array -> 'b array -> 'c array
Array.map2 f [|a1; ...; an|] [|b1; ...; bn|]
creates new array
[|f a1 b1; ...; f an bn|]
.
Invalid_argument
if the length of a1
does not equal the
length of a2
.val for_all : ('a -> bool) -> 'a array -> bool
for_all p [a1; ...; an]
checks if all elements of the array
satisfy the predicate p
. That is, it returns
(p a1) && (p a2) && ... && (p an)
.
val exists : ('a -> bool) -> 'a array -> bool
exists p [a1; ...; an]
checks if at least one element of
the array satisfies the predicate p
. That is, it returns
(p a1) || (p a2) || ... || (p an)
.
val mem : 'a -> 'a array -> bool
mem m a
is true if and only if m
is equal to an element of a
.
val memq : 'a -> 'a array -> bool
Same as ExtArray.Array.mem
but uses physical equality instead of
structural equality to compare array elements.
val find : ('a -> bool) -> 'a array -> 'a
find p a
returns the first element of array a
that satisfies the predicate p
.
Raise Not_found
if there is no value that satisfies p
in the
array a
.
val findi : ('a -> bool) -> 'a array -> int
findi p a
returns the index of the first element of array a
that satisfies the predicate p
.
Raise Not_found
if there is no value that satisfies p
in the
array a
.
val filter : ('a -> bool) -> 'a array -> 'a array
filter p a
returns all the elements of the array a
that satisfy the predicate p
. The order of the elements
in the input array is preserved.
val find_all : ('a -> bool) -> 'a array -> 'a array
find_all
is another name for ExtArray.Array.filter
.
val partition : ('a -> bool) -> 'a array -> 'a array * 'a array
partition p a
returns a pair of arrays (a1, a2)
, where
a1
is the array of all the elements of a
that
satisfy the predicate p
, and a2
is the array of all the
elements of a
that do not satisfy p
.
The order of the elements in the input array is preserved.
val enum : 'a array -> 'a Enum.t
Returns an enumeration of the elements of an array.
val of_enum : 'a Enum.t -> 'a array
Build an array from an enumeration.
These functions are reimplemented in extlib when they are missing from the stdlib
val create_float : int -> float array
val make_float : int -> float array
module Floatarray:sig
..end
val for_all2 : ('a -> 'b -> bool) -> 'a array -> 'b array -> bool
Same as ExtArray.Array.for_all
, but for a two-argument predicate.
Invalid_argument
if the two arrays have different lengths.val exists2 : ('a -> 'b -> bool) -> 'a array -> 'b array -> bool
Same as ExtArray.Array.exists
, but for a two-argument predicate.
Invalid_argument
if the two arrays have different lengths.These functions are already part of the Ocaml standard library and have not been modified. Please refer to the Ocaml Manual for documentation.
val length : 'a array -> int
val get : 'a array -> int -> 'a
val set : 'a array -> int -> 'a -> unit
val make : int -> 'a -> 'a array
val create : int -> 'a -> 'a array
val init : int -> (int -> 'a) -> 'a array
val make_matrix : int -> int -> 'a -> 'a array array
val create_matrix : int -> int -> 'a -> 'a array array
val append : 'a array -> 'a array -> 'a array
val concat : 'a array list -> 'a array
val sub : 'a array -> int -> int -> 'a array
val copy : 'a array -> 'a array
val fill : 'a array -> int -> int -> 'a -> unit
val blit : 'a array -> int -> 'a array -> int -> int -> unit
val to_list : 'a array -> 'a list
val of_list : 'a list -> 'a array
val iter : ('a -> unit) -> 'a array -> unit
val map : ('a -> 'b) -> 'a array -> 'b array
val iteri : (int -> 'a -> unit) -> 'a array -> unit
val mapi : (int -> 'a -> 'b) -> 'a array -> 'b array
val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b array -> 'a
val fold_right : ('b -> 'a -> 'a) -> 'b array -> 'a -> 'a
val sort : ('a -> 'a -> int) -> 'a array -> unit
val stable_sort : ('a -> 'a -> int) -> 'a array -> unit
val fast_sort : ('a -> 'a -> int) -> 'a array -> unit
val unsafe_get : 'a array -> int -> 'a
val unsafe_set : 'a array -> int -> 'a -> unit
val to_seq : 'a array -> 'a Stdlib.Seq.t
*_seq
functions were introduced in OCaml 4.07.0, and are _not_ implemented in extlib for older OCaml versions
val to_seqi : 'a array -> (int * 'a) Stdlib.Seq.t
val of_seq : 'a Stdlib.Seq.t -> 'a array