Batteries user guide : BatArray

`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 : 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 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 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 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 BatArray.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 :
sig
val find : ('a -> bool) -> 'a BatArray.t -> 'a option
val findi : ('a -> bool) -> 'a BatArray.t -> int option
end
module Labels :
sig
val init : int -> f:(int -> 'a) -> 'a array
val create : int -> init:'a -> 'a array
val make_matrix : dimx:int -> dimy:int -> 'a -> 'a array array
val create_matrix : dimx:int -> dimy:int -> 'a -> 'a array array
val sub : 'a array -> pos:int -> len:int -> 'a array
val fill : 'a array -> pos:int -> len:int -> 'a -> unit
val blit :
src:'a array ->
src_pos:int -> dst:'a array -> dst_pos:int -> len:int -> unit
val iter : f:('a -> unit) -> 'a array -> unit
val iteri : f:(int -> 'a -> unit) -> 'a array -> unit
val modify : f:('a -> 'a) -> 'a array -> unit
val modifyi : f:(int -> 'a -> 'a) -> 'a array -> unit
val fold_left : f:('a -> 'b -> 'a) -> init:'a -> 'b array -> 'a
val fold_right : f:('b -> 'a -> 'a) -> 'b array -> init:'a -> 'a
val sort : cmp:('a -> 'a -> int) -> 'a array -> unit
val stable_sort : cmp:('a -> 'a -> int) -> 'a array -> unit
val fast_sort : cmp:('a -> 'a -> int) -> 'a array -> unit
val iter2 :
f:('a -> 'b -> unit) -> 'a BatArray.t -> 'b BatArray.t -> unit
val exists : f:('a -> bool) -> 'a BatArray.t -> bool
val for_all : f:('a -> bool) -> 'a BatArray.t -> bool
val iter2i :
f:(int -> 'a -> 'b -> unit) -> 'a BatArray.t -> 'b BatArray.t -> unit
val find : f:('a -> bool) -> 'a BatArray.t -> 'a
val findi : f:('a -> bool) -> 'a BatArray.t -> int
val map : f:('a -> 'b) -> 'a BatArray.t -> 'b BatArray.t
val mapi : f:(int -> 'a -> 'b) -> 'a BatArray.t -> 'b BatArray.t
val filter : f:('a -> bool) -> 'a BatArray.t -> 'a BatArray.t
val filter_map : f:('a -> 'b option) -> 'a BatArray.t -> 'b BatArray.t
module LExceptionless :
sig
val find : f:('a -> bool) -> 'a BatArray.t -> 'a option
val findi : f:('a -> bool) -> 'a BatArray.t -> int option
end
end
module Cap :
sig
type ('a, 'b) t constraint 'b = [< `Read | `Write ]
external length : ('a, [< `Read | `Write ]) BatArray.Cap.t -> int
= "%array_length"
external get :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> int -> 'a
= "%array_safe_get"
external set :
('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
int -> 'a -> unit = "%array_safe_set"
external make : int -> 'a -> ('a, [< `Read | `Write ]) BatArray.Cap.t
= "caml_make_vect"
external create : int -> 'a -> ('a, [< `Read | `Write ]) BatArray.Cap.t
= "caml_make_vect"
external of_array :
'a array -> ('a, [< `Read | `Write ]) BatArray.Cap.t = "%identity"
external to_array : ('a, [ `Read | `Write ]) BatArray.Cap.t -> 'a array
= "%identity"
external read_only :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [ `Read ]) BatArray.Cap.t = "%identity"
external write_only :
('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
('a, [ `Write ]) BatArray.Cap.t = "%identity"
val init :
int -> (int -> 'a) -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val make_matrix :
int ->
int ->
'a ->
(('a, [< `Read | `Write ]) BatArray.Cap.t, [< `Read | `Write ])
BatArray.Cap.t
val create_matrix :
int ->
int ->
'a ->
(('a, [< `Read | `Write ]) BatArray.Cap.t, [< `Read | `Write ])
BatArray.Cap.t
val iter :
('a -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val map :
('a -> 'b) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write ]) BatArray.Cap.t
val iteri :
(int -> 'a -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val mapi :
(int -> 'a -> 'b) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write ]) BatArray.Cap.t
val modify :
('a -> 'a) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val modifyi :
(int -> 'a -> 'a) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val fold_left :
('a -> 'b -> 'a) ->
'a -> ('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a
val fold_right :
('b -> 'a -> 'a) ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a -> 'a
val iter2 :
('a -> 'b -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val iter2i :
(int -> 'a -> 'b -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val for_all :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool
val exists :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool
val find :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a
val mem :
'a -> ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool
val memq :
'a -> ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool
val findi :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> int
val filter :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write ]) BatArray.Cap.t
val filter_map :
('a -> 'b option) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write ]) BatArray.Cap.t
val find_all :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write ]) BatArray.Cap.t
val partition :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write ]) BatArray.Cap.t *
('a, [< `Read | `Write ]) BatArray.Cap.t
val rev :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write ]) BatArray.Cap.t
val rev_in_place : ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val append :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write ]) BatArray.Cap.t
val concat :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t list ->
('a, [< `Read | `Write ]) BatArray.Cap.t
val sub :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
int -> int -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val copy : ('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a array
val fill :
('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
int -> int -> 'a -> unit
val blit :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
int ->
('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
int -> int -> unit
val enum :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a BatEnum.t
val of_enum : 'a BatEnum.t -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val backwards :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a BatEnum.t
val of_backwards :
'a BatEnum.t -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val to_list :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a list
val of_list : 'a list -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val sort :
('a -> 'a -> int) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val stable_sort :
('a -> 'a -> int) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val fast_sort :
('a -> 'a -> int) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val print :
?first:string ->
?last:string ->
?sep:string ->
('a BatIO.output -> 'b -> unit) ->
'a BatIO.output ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val compare :
'a BatOrd.comp ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t BatOrd.comp
val ord :
'a BatOrd.ord ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t BatOrd.ord
val equal :
'a BatOrd.eq ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t BatOrd.eq
module Exceptionless :
sig
val find :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a option
val findi :
('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> int option
end
module Labels :
sig
val init :
int -> f:(int -> 'a) -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val make :
int -> init:'a -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val create :
int -> init:'a -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val make_matrix :
dimx:int ->
dimy:int ->
'a ->
(('a, [< `Read | `Write ]) BatArray.Cap.t, [< `Read | `Write ])
BatArray.Cap.t
val create_matrix :
dimx:int ->
dimy:int ->
'a ->
(('a, [< `Read | `Write ]) BatArray.Cap.t, [< `Read | `Write ])
BatArray.Cap.t
val sub :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
pos:int -> len:int -> ('a, [< `Read | `Write ]) BatArray.Cap.t
val fill :
('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
pos:int -> len:int -> 'a -> unit
val blit :
src:('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
src_pos:int ->
dst:('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
dst_pos:int -> len:int -> unit
val iter :
f:('a -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val iteri :
f:(int -> 'a -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val modify :
f:('a -> 'a) -> ('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val modifyi :
f:(int -> 'a -> 'a) ->
('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val fold_left :
f:('a -> 'b -> 'a) ->
init:'a -> ('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a
val fold_right :
f:('b -> 'a -> 'a) ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> init:'a -> 'a
val sort :
cmp:('a -> 'a -> int) ->
('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val stable_sort :
cmp:('a -> 'a -> int) ->
('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val fast_sort :
cmp:('a -> 'a -> int) ->
('a, [ `Read | `Write ]) BatArray.Cap.t -> unit
val iter2 :
f:('a -> 'b -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val iter2i :
f:(int -> 'a -> 'b -> unit) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write > `Read ]) BatArray.Cap.t -> unit
val exists :
f:('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool
val for_all :
f:('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> bool
val find :
f:('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> 'a
val map :
f:('a -> 'b) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write ]) BatArray.Cap.t
val mapi :
f:(int -> 'a -> 'b) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write ]) BatArray.Cap.t
val filter :
f:('a -> bool) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('a, [< `Read | `Write ]) BatArray.Cap.t
val filter_map :
f:('a -> 'b option) ->
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t ->
('b, [< `Read | `Write ]) BatArray.Cap.t
end
external unsafe_get :
('a, [< `Read | `Write > `Read ]) BatArray.Cap.t -> int -> 'a
= "%array_unsafe_get"
external unsafe_set :
('a, [< `Read | `Write > `Write ]) BatArray.Cap.t ->
int -> 'a -> unit = "%array_unsafe_set"
end
module Incubator :
sig
module Eq :
functor (T : BatOrd.Eq) ->
sig type t = T.t array val eq : T.t array BatOrd.eq end
module Ord :
functor (T : BatOrd.Ord) ->
sig type t = T.t array val ord : T.t array BatOrd.ord end
end
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`