Util.Arrayinclude CArray.Smodule Floatarray : sig ... endFirst size comparison, then lexicographic order.
Like equal but does not assume that equality is reflexive: no optimisation is performed if both arrays are physically the same.
First result which is not None, or None; Failure "Array.find2_map" if the arrays don't have the same length
chop i a returns (a1, a2) s.t. a = a1 + a2 and length a1 = n. Raise Failure "Array.chop" if i is not a valid index.
Iter on two arrays. Raise Invalid_argument "Array.iter2_i" if sizes differ.
Iter on three arrays. Raise Invalid_argument "Array.iter3" if sizes differ.
fold_left_map f e_0 [|l_1...l_n|] = e_n,[|k_1...k_n|] where (e_i,k_i)=f e_{i-1} l_i; see also Smart.fold_left_map
Same, folding on the right
Same than fold_left_map but passing the index of the array
Same with two arrays, folding on the left; see also Smart.fold_left2_map
val fold_left2_map_i : (int -> 'a -> 'b -> 'c -> 'a * 'd) -> 'a -> 'b array -> 'c array -> 'a * 'd arraySame than fold_left2_map but passing the index of the array
Same with two arrays, folding on the right
Return true if every element of the array is unique (for default equality).
filter_with b a selects elements of a whose corresponding element in b is true. Raise Invalid_argument _ when sizes differ.
module Smart : sig ... endThe functions defined in this module are optimized specializations of the main ones, when the returned array is of same type as one of the original array.
module Fun1 : sig ... endThe functions defined in this module are the same as the main ones, except that they are all higher-order, and their function arguments have an additional parameter. This allows us to prevent closure creation in critical cases.