`sig module Array : sig type 'a t = 'a array type 'a enumerable = 'a t type 'a mappable = 'a t external length : 'a array -> int = "%array_length" external get : 'a array -> int -> 'a = "%array_safe_get" external set : 'a array -> int -> 'a -> unit = "%array_safe_set" external make : int -> 'a -> 'a array = "caml_make_vect" external create_float : int -> float array = "caml_make_float_vect" val make_float : int -> float array external create : int -> 'a -> 'a array = "caml_make_vect" 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 max : 'a array -> 'a val min : 'a array -> 'a val sum : int array -> int val fsum : float array -> float val kahan_sum : float array -> float val avg : int array -> float val favg : float array -> float val left : 'a array -> int -> 'a array val right : 'a array -> int -> 'a array val head : 'a array -> int -> 'a array val tail : 'a array -> int -> '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 modify : ('a -> 'a) -> 'a array -> unit val modifyi : (int -> 'a -> 'a) -> 'a array -> unit val fold_lefti : ('a -> int -> 'b -> 'a) -> 'a -> 'b array -> 'a val fold_righti : (int -> 'b -> 'a -> 'a) -> 'b array -> 'a -> 'a val reduce : ('a -> 'a -> 'a) -> 'a array -> 'a val singleton : 'a -> 'a array 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 decorate_stable_sort : ('a -> 'b) -> 'a array -> 'a array val decorate_fast_sort : ('a -> 'b) -> 'a array -> 'a array val bsearch : 'a BatOrd.ord -> 'a array -> 'a -> [ `All_bigger | `All_lower | `At of int | `Empty | `Just_after of int ] val iter2 : ('a -> 'b -> unit) -> 'a array -> 'b array -> unit val iter2i : (int -> 'a -> 'b -> unit) -> 'a array -> 'b array -> unit val for_all2 : ('a -> 'b -> bool) -> 'a array -> 'b array -> bool val exists2 : ('a -> 'b -> bool) -> 'a array -> 'b array -> bool val map2 : ('a -> 'b -> 'c) -> 'a array -> 'b array -> 'c array val cartesian_product : 'a array -> 'b array -> ('a * 'b) array val for_all : ('a -> bool) -> 'a array -> bool val exists : ('a -> bool) -> 'a array -> bool val find : ('a -> bool) -> 'a array -> 'a val mem : 'a -> 'a array -> bool val memq : 'a -> 'a array -> bool val findi : ('a -> bool) -> 'a array -> int val filter : ('a -> bool) -> 'a array -> 'a array val filteri : (int -> 'a -> bool) -> 'a array -> 'a array val filter_map : ('a -> 'b option) -> 'a array -> 'b array val find_all : ('a -> bool) -> 'a array -> 'a array val partition : ('a -> bool) -> 'a array -> 'a array * 'a array val rev : 'a array -> 'a array val rev_in_place : 'a array -> unit val enum : 'a array -> 'a BatEnum.t val of_enum : 'a BatEnum.t -> 'a array val backwards : 'a array -> 'a BatEnum.t val of_backwards : 'a BatEnum.t -> 'a array val range : 'a array -> int BatEnum.t val insert : 'a array -> 'a -> int -> 'a array val print : ?first:string -> ?last:string -> ?sep:string -> ('a, 'b) BatIO.printer -> ('a t, 'b) BatIO.printer val compare : 'a BatOrd.comp -> 'a array BatOrd.comp val ord : 'a BatOrd.ord -> 'a array BatOrd.ord val equal : 'a BatOrd.eq -> 'a array BatOrd.eq module Exceptionless = BatArray.Exceptionless module Labels = BatArray.Labels module Cap = BatArray.Cap module Incubator = BatArray.Incubator val is_sorted_by : ('a -> 'b) -> 'a array -> bool external unsafe_get : 'a array -> int -> 'a = "%array_unsafe_get" external unsafe_set : 'a array -> int -> 'a -> unit = "%array_unsafe_set" end end`