Module Core.IarraySource
type 'a t = 'a Base.Iarray.tinclude sig ... end
val quickcheck_generator :
'a. 'a Ppx_quickcheck_runtime.Base_quickcheck.Generator.t ->
'a Base.Iarray.t Ppx_quickcheck_runtime.Base_quickcheck.Generator.t @@ portableval quickcheck_generator__portable :
'a. 'a Ppx_quickcheck_runtime.Base_quickcheck.Generator.t @ portable ->
'a Base.Iarray.t Ppx_quickcheck_runtime.Base_quickcheck.Generator.t @ portable @@ portableval quickcheck_observer :
'a. 'a Ppx_quickcheck_runtime.Base_quickcheck.Observer.t ->
'a Base.Iarray.t Ppx_quickcheck_runtime.Base_quickcheck.Observer.t @@ portableval quickcheck_observer__portable :
'a. 'a Ppx_quickcheck_runtime.Base_quickcheck.Observer.t @ portable ->
'a Base.Iarray.t Ppx_quickcheck_runtime.Base_quickcheck.Observer.t @ portable @@ portableval quickcheck_shrinker :
'a. 'a Ppx_quickcheck_runtime.Base_quickcheck.Shrinker.t ->
'a Base.Iarray.t Ppx_quickcheck_runtime.Base_quickcheck.Shrinker.t @@ portableval quickcheck_shrinker__portable :
'a. 'a Ppx_quickcheck_runtime.Base_quickcheck.Shrinker.t @ portable ->
'a Base.Iarray.t Ppx_quickcheck_runtime.Base_quickcheck.Shrinker.t @ portable @@ portableinclude Typerep_lib.Typerepable.S1 with type 'a t := 'a Base.Iarray.t
val typerep_of_t :
'a Typerep_lib.Std_internal.Typerep.t ->
'a Base.Iarray.t Typerep_lib.Std_internal.Typerep.t @@ portableval typename_of_t :
'a Typerep_lib.Typename.t ->
'a Base.Iarray.t Typerep_lib.Typename.t @@ portableinclude sig ... end
val compare__local :
'a. ('a @ local -> 'a @ local -> int) ->
'a Core.Iarray.t @ local ->
'a Core.Iarray.t @ local ->
intval equal__local :
'a. ('a @ local -> 'a @ local -> bool) ->
'a Core.Iarray.t @ local ->
'a Core.Iarray.t @ local ->
boolval sexp_of_t__stack :
'a. ('a @ local -> Sexplib0.Sexp.t @ local) ->
'a Core.Iarray.t @ local ->
Sexplib0.Sexp.t @ localval t_sexp_grammar :
'a. 'a Sexplib0.Sexp_grammar.t ->
'a Core.Iarray.t Sexplib0.Sexp_grammar.t @@ portableinclude sig ... end
Standard interfaces
include Base.Binary_searchable.S1__local with type 'a t := 'a Core.Iarray.t
val binary_search :
?pos:int ->
?len:int ->
'a Core.Iarray.t ->
compare:('a -> 'key -> int) @ local ->
[ `Last_strictly_less_than
| `Last_less_than_or_equal_to
| `Last_equal_to
| `First_equal_to
| `First_greater_than_or_equal_to
| `First_strictly_greater_than ] ->
'key ->
int option @ localval binary_search__local :
?pos:int ->
?len:int ->
'a Core.Iarray.t @ local ->
compare:('a @ local -> 'key @ local -> int) @ local ->
[ `Last_strictly_less_than
| `Last_less_than_or_equal_to
| `Last_equal_to
| `First_equal_to
| `First_greater_than_or_equal_to
| `First_strictly_greater_than ] ->
'key @ local ->
int option @ localval binary_search_segmented :
?pos:int ->
?len:int ->
'a Core.Iarray.t ->
segment_of:('a -> [ `Left | `Right ]) @ local ->
[ `Last_on_left | `First_on_right ] ->
int option @ localval binary_search_segmented__local :
?pos:int ->
?len:int ->
'a Core.Iarray.t @ local ->
segment_of:('a @ local -> [ `Left | `Right ]) @ local ->
[ `Last_on_left | `First_on_right ] ->
int option @ localinclude Base.Indexed_container.S1_with_creators__stack
with type 'a t := 'a Core.Iarray.t
val iteri : 'a Core.Iarray.t -> f:(int -> 'a -> unit) @ local -> unitval existsi : 'a Core.Iarray.t -> f:(int -> 'a -> bool) @ local -> boolval for_alli : 'a Core.Iarray.t -> f:(int -> 'a -> bool) @ local -> boolval counti : 'a Core.Iarray.t -> f:(int -> 'a -> bool) @ local -> intval iteri_until :
'a Core.Iarray.t ->
f:(int -> 'a -> (unit, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:(int -> 'final) @ local ->
'finalval find_mapi :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b option) @ local ->
'b optionval foldi_until :
'a Core.Iarray.t ->
init:'acc ->
f:
(int -> 'acc -> 'a -> ('acc, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:(int -> 'acc -> 'final) @ local ->
'finalval iteri_until__global__local :
'a Core.Iarray.t ->
f:
(int -> 'a -> (unit, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:(int -> 'final @ local) @ local ->
'final @ localval find_mapi__global__local :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b option @ local) @ local ->
'b option @ localval foldi_until__global__local :
'a Core.Iarray.t ->
init:'acc @ local ->
f:
(int ->
'acc @ local ->
'a ->
('acc, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:(int -> 'acc @ local -> 'final @ local) @ local ->
'final @ localval iteri__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> unit) @ local ->
unitval existsi__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> bool) @ local ->
boolval for_alli__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> bool) @ local ->
boolval counti__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> bool) @ local ->
intval iteri_until__local__global :
'a Core.Iarray.t @ local ->
f:
(int -> 'a @ local -> (unit, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:(int -> 'final) @ local ->
'finalval find_mapi__local__global :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b option) @ local ->
'b optionval foldi_until__local__global :
'a Core.Iarray.t @ local ->
init:'acc ->
f:
(int ->
'acc ->
'a @ local ->
('acc, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:(int -> 'acc -> 'final) @ local ->
'finalval iteri_until__local__local :
'a Core.Iarray.t @ local ->
f:
(int ->
'a @ local ->
(unit, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:(int -> 'final @ local) @ local ->
'final @ localval find_mapi__local__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b option @ local) @ local ->
'b option @ localval foldi_until__local__local :
'a Core.Iarray.t @ local ->
init:'acc @ local ->
f:
(int ->
'acc @ local ->
'a @ local ->
('acc, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:(int -> 'acc @ local -> 'final @ local) @ local ->
'final @ localval findi :
'a Core.Iarray.t ->
f:(int -> 'a -> bool) @ local ->
(int * 'a) optionval findi__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> bool) @ local ->
(int * 'a) option @ localval is_empty : 'a Core.Iarray.t @ local -> boolval iter : 'a Core.Iarray.t -> f:('a -> unit) @ local -> unitval iter__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> unit) @ local ->
unitval exists : 'a Core.Iarray.t -> f:('a -> bool) @ local -> boolval exists__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> bool) @ local ->
boolval for_all : 'a Core.Iarray.t -> f:('a -> bool) @ local -> boolval for_all__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> bool) @ local ->
boolval count : 'a Core.Iarray.t -> f:('a -> bool) @ local -> intval count__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> bool) @ local ->
intval find : 'a Core.Iarray.t -> f:('a -> bool) @ local -> 'a optionval find__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> bool) @ local ->
'a option @ localval to_list : 'a Core.Iarray.t -> 'a listval to_list__stack : 'a Core.Iarray.t @ local -> 'a list @ localval min_elt :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) @ local ->
'a optionval min_elt__local :
'a Core.Iarray.t @ local ->
compare:('a @ local -> 'a @ local -> int) @ local ->
'a option @ localval max_elt :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) @ local ->
'a optionval max_elt__local :
'a Core.Iarray.t @ local ->
compare:('a @ local -> 'a @ local -> int) @ local ->
'a option @ localval sum :
(module Base__Container_intf.Definitions.Summable__value_or_null
with type t = 'sum) ->
'a Core.Iarray.t ->
f:('a -> 'sum) @ local ->
'sumval sum__global__local :
(module Base__Container_intf.Definitions.Summable__value_or_null__local
with type t = 'sum) ->
'a Core.Iarray.t ->
f:('a -> 'sum @ local) @ local ->
'sum @ localval sum__local__global :
(module Base__Container_intf.Definitions.Summable__value_or_null
with type t = 'sum) ->
'a Core.Iarray.t @ local ->
f:('a @ local -> 'sum) @ local ->
'sumval sum__local__local :
(module Base__Container_intf.Definitions.Summable__value_or_null__local
with type t = 'sum) ->
'a Core.Iarray.t @ local ->
f:('a @ local -> 'sum @ local) @ local ->
'sum @ localval iter_until :
'a Core.Iarray.t ->
f:('a -> (unit, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:(unit -> 'final) @ local ->
'finalval iter_until__global__local :
'a Core.Iarray.t ->
f:('a -> (unit, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:(unit -> 'final @ local) @ local ->
'final @ localval iter_until__local__global :
'a Core.Iarray.t @ local ->
f:('a @ local -> (unit, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:(unit -> 'final) @ local ->
'finalval iter_until__local__local :
'a Core.Iarray.t @ local ->
f:
('a @ local -> (unit, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:(unit -> 'final @ local) @ local ->
'final @ localval fold_result :
'a Core.Iarray.t ->
init:'acc ->
f:('acc -> 'a -> ('acc, 'e) Stdlib.result) @ local ->
('acc, 'e) Stdlib.resultval fold_result__global__local :
'a Core.Iarray.t ->
init:'acc @ local ->
f:('acc @ local -> 'a -> ('acc, 'e) Stdlib.result @ local) @ local ->
('acc, 'e) Stdlib.result @ localval fold_result__local__global :
'a Core.Iarray.t @ local ->
init:'acc ->
f:('acc -> 'a @ local -> ('acc, 'e) Stdlib.result) @ local ->
('acc, 'e) Stdlib.resultval fold_result__local__local :
'a Core.Iarray.t @ local ->
init:'acc @ local ->
f:('acc @ local -> 'a @ local -> ('acc, 'e) Stdlib.result @ local) @ local ->
('acc, 'e) Stdlib.result @ localval find_map : 'a Core.Iarray.t -> f:('a -> 'b option) @ local -> 'b optionval find_map__global__local :
'a Core.Iarray.t ->
f:('a -> 'b option @ local) @ local ->
'b option @ localval find_map__local__global :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b option) @ local ->
'b optionval find_map__local__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b option @ local) @ local ->
'b option @ localval fold_until :
'a Core.Iarray.t ->
init:'acc ->
f:('acc -> 'a -> ('acc, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:('acc -> 'final) @ local ->
'finalval fold_until__global__local :
'a Core.Iarray.t ->
init:'acc @ local ->
f:
('acc @ local ->
'a ->
('acc, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:('acc @ local -> 'final @ local) @ local ->
'final @ localval fold_until__local__global :
'a Core.Iarray.t @ local ->
init:'acc ->
f:
('acc -> 'a @ local -> ('acc, 'final) Base.Container.Continue_or_stop.t) @ local ->
finish:('acc -> 'final) @ local ->
'finalval fold_until__local__local :
'a Core.Iarray.t @ local ->
init:'acc @ local ->
f:
('acc @ local ->
'a @ local ->
('acc, 'final) Base.Container.Continue_or_stop.t @ local) @ local ->
finish:('acc @ local -> 'final @ local) @ local ->
'final @ localval mem : 'a Core.Iarray.t -> 'a -> equal:('a -> 'a -> bool) @ local -> boolval mem__local :
'a Core.Iarray.t @ local ->
'a @ local ->
equal:('a @ local -> 'a @ local -> bool) @ local ->
boolval of_list : 'a list -> 'a Core.Iarray.tval of_list__stack : 'a list @ local -> 'a Core.Iarray.t @ localval append : 'a Core.Iarray.t -> 'a Core.Iarray.t -> 'a Core.Iarray.tval append__stack :
'a Core.Iarray.t @ local ->
'a Core.Iarray.t @ local ->
'a Core.Iarray.t @ localval concat : 'a Core.Iarray.t Core.Iarray.t -> 'a Core.Iarray.tval concat__stack :
'a Core.Iarray.t Core.Iarray.t @ local ->
'a Core.Iarray.t @ localval filter : 'a Core.Iarray.t -> f:('a -> bool) @ local -> 'a Core.Iarray.tval filter__stack :
'a Core.Iarray.t @ local ->
f:('a @ local -> bool) @ local ->
'a Core.Iarray.t @ localval partition_tf :
'a Core.Iarray.t ->
f:('a -> bool) @ local ->
'a Core.Iarray.t * 'a Core.Iarray.tval partition_tf__stack :
'a Core.Iarray.t @ local ->
f:('a @ local -> bool) @ local ->
'a Core.Iarray.t * 'a Core.Iarray.t @ localval map__stack :
'a Core.Iarray.t ->
f:('a -> 'b @ local) @ local ->
'b Core.Iarray.t @ localval map__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b) @ local ->
'b Core.Iarray.tval map__local__stack :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b @ local) @ local ->
'b Core.Iarray.t @ localval filter_map :
'a Core.Iarray.t ->
f:('a -> 'b option) @ local ->
'b Core.Iarray.tval filter_map__stack :
'a Core.Iarray.t ->
f:('a -> 'b option @ local) @ local ->
'b Core.Iarray.t @ localval filter_map__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b option) @ local ->
'b Core.Iarray.tval filter_map__local__stack :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b option @ local) @ local ->
'b Core.Iarray.t @ localval concat_map :
'a Core.Iarray.t ->
f:('a -> 'b Core.Iarray.t) @ local ->
'b Core.Iarray.tval concat_map__stack :
'a Core.Iarray.t ->
f:('a -> 'b Core.Iarray.t @ local) @ local ->
'b Core.Iarray.t @ localval concat_map__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b Core.Iarray.t) @ local ->
'b Core.Iarray.tval concat_map__local__stack :
'a Core.Iarray.t @ local ->
f:('a @ local -> 'b Core.Iarray.t @ local) @ local ->
'b Core.Iarray.t @ localval partition_map :
'a Core.Iarray.t ->
f:('a -> ('b, 'c) Base__Either0.t) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.tval partition_map__stack :
'a Core.Iarray.t ->
f:('a -> ('b, 'c) Base__Either0.t @ local) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.t @ localval partition_map__local :
'a Core.Iarray.t @ local ->
f:('a @ local -> ('b, 'c) Base__Either0.t) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.tval partition_map__local__stack :
'a Core.Iarray.t @ local ->
f:('a @ local -> ('b, 'c) Base__Either0.t @ local) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.t @ localval to_array : 'a Core.Iarray.t -> 'a arrayval of_array : 'a array -> 'a Core.Iarray.tval of_array__stack : 'a array @ local -> 'a Core.Iarray.t @ localval filteri :
'a Core.Iarray.t ->
f:(int -> 'a -> bool) @ local ->
'a Core.Iarray.tval filteri__stack :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> bool) @ local ->
'a Core.Iarray.t @ localval partitioni_tf :
'a Core.Iarray.t ->
f:(int -> 'a -> bool) @ local ->
'a Core.Iarray.t * 'a Core.Iarray.tpartitioni_tf t ~f is like partition_tf. Additionally, it passes the index as an argument.
val partitioni_tf__stack :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> bool) @ local ->
'a Core.Iarray.t * 'a Core.Iarray.t @ localpartitioni_tf t ~f is like partition_tf. Additionally, it passes the index as an argument.
val mapi : 'a Core.Iarray.t -> f:(int -> 'a -> 'b) @ local -> 'b Core.Iarray.tmapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val mapi__stack :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b @ local) @ local ->
'b Core.Iarray.t @ localmapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val mapi__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b) @ local ->
'b Core.Iarray.tmapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val mapi__local__stack :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b @ local) @ local ->
'b Core.Iarray.t @ localmapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val filter_mapi :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b option) @ local ->
'b Core.Iarray.tfilter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val filter_mapi__stack :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b option @ local) @ local ->
'b Core.Iarray.t @ localfilter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val filter_mapi__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b option) @ local ->
'b Core.Iarray.tfilter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val filter_mapi__local__stack :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b option @ local) @ local ->
'b Core.Iarray.t @ localfilter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.
val concat_mapi :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b Core.Iarray.t) @ local ->
'b Core.Iarray.tconcat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.
val concat_mapi__stack :
'a Core.Iarray.t ->
f:(int -> 'a -> 'b Core.Iarray.t @ local) @ local ->
'b Core.Iarray.t @ localconcat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.
val concat_mapi__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b Core.Iarray.t) @ local ->
'b Core.Iarray.tconcat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.
val concat_mapi__local__stack :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> 'b Core.Iarray.t @ local) @ local ->
'b Core.Iarray.t @ localconcat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.
val partition_mapi :
'a Core.Iarray.t ->
f:(int -> 'a -> ('b, 'c) Base__.Either0.t) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.tpartition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.
val partition_mapi__stack :
'a Core.Iarray.t ->
f:(int -> 'a -> ('b, 'c) Base__.Either0.t @ local) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.t @ localpartition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.
val partition_mapi__local :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> ('b, 'c) Base__.Either0.t) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.tpartition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.
val partition_mapi__local__stack :
'a Core.Iarray.t @ local ->
f:(int -> 'a @ local -> ('b, 'c) Base__.Either0.t @ local) @ local ->
'b Core.Iarray.t * 'c Core.Iarray.t @ localpartition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.
include Base.Invariant.S1 with type 'a t := 'a Core.Iarray.t
val invariant : ('a -> unit) -> 'a Core.Iarray.t -> unitOperators
val (.:()) : 'a. 'a Basement.Stdlib_iarray_labels.t -> int -> 'aAn alias for get.
Indexing
val length : 'a. 'a Core.Iarray.t @ immutable -> intinclude sig ... end
val get : 'a. 'a Core.Iarray.t -> int -> 'aval get_opt : 'a Core.Iarray.t -> int -> 'a optionval unsafe_get : 'a. 'a Core.Iarray.t -> int -> 'ainclude sig ... end
include sig ... end
val last_exn : 'a Core.Iarray.t -> 'aFunctional update
val set : 'a Core.Iarray.t -> int -> 'a -> 'a Core.Iarray.tval update : 'a Core.Iarray.t -> int -> f:('a -> 'a) -> 'a Core.Iarray.tConstructors
val empty : _ Core.Iarray.tval singleton : 'a -> 'a Core.Iarray.tval create :
len:int ->
'a ->
mutate:('a array @ local -> unit) @ local ->
'a Basement.Stdlib_iarray_labels.tval init : 'a. int -> f:(int -> 'a) @ local -> 'a Core.Iarray.tConversions
val of_sequence : 'a Base.Sequence.t -> 'a Core.Iarray.tval to_sequence : 'a Core.Iarray.t -> 'a Base.Sequence.tval of_list_rev : 'a list -> 'a Core.Iarray.tval of_list_map : 'a list -> f:('a -> 'b) @ local -> 'b Core.Iarray.tval of_list_mapi : 'a list -> f:(int -> 'a -> 'b) @ local -> 'b Core.Iarray.tval of_list_rev_map : 'a list -> f:('a -> 'b) @ local -> 'b Core.Iarray.tSubsequences
val prefix : 'a Core.Iarray.t -> len:int -> 'a Core.Iarray.tval suffix : 'a Core.Iarray.t -> len:int -> 'a Core.Iarray.tval drop_prefix : 'a Core.Iarray.t -> len:int -> 'a Core.Iarray.tval drop_suffix : 'a Core.Iarray.t -> len:int -> 'a Core.Iarray.tval group :
'a Core.Iarray.t ->
break:('a -> 'a -> bool) @ local ->
'a Core.Iarray.t Core.Iarray.tval split_n : 'a Core.Iarray.t -> int -> 'a Core.Iarray.t * 'a Core.Iarray.tsplit_n t n returns a pair of iarrays (first, second) where first contains the first n elements of t and second contains the remaining elements.
- If
n >= length t, returns(t, empty). - If
n <= 0, returns(empty, t).
val chunks_of :
'a Core.Iarray.t ->
length:int ->
'a Core.Iarray.t Core.Iarray.tchunks_of t ~length returns an iarray of iarrays whose concatenation is equal to the original iarray. Every iarray has length elements, except for possibly the last iarray, which may have fewer. chunks_of raises if length <= 0.
Reordering
val rev : 'a Core.Iarray.t -> 'a Core.Iarray.tval sort :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) @ local ->
'a Core.Iarray.tval stable_sort :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) ->
'a Core.Iarray.tval dedup_and_sort :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) @ local ->
'a Core.Iarray.tval sort_and_group :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) @ local ->
'a Core.Iarray.t Core.Iarray.tval is_sorted : 'a Core.Iarray.t -> compare:('a -> 'a -> int) @ local -> boolval is_sorted_strictly :
'a Core.Iarray.t ->
compare:('a -> 'a -> int) @ local ->
boolCombining elements
val reduce : 'a Core.Iarray.t -> f:('a -> 'a -> 'a) @ local -> 'a optionval reduce_exn : 'a Core.Iarray.t -> f:('a -> 'a -> 'a) @ local -> 'aval combine_errors :
'a Base.Or_error.t Core.Iarray.t ->
'a Core.Iarray.t Base.Or_error.tval combine_errors_unit :
unit Base.Or_error.t Core.Iarray.t ->
unit Base.Or_error.tinclude sig ... end
include sig ... end
val fold :
'a ('acc : value_or_null). 'a Core.Iarray.t ->
init:'acc ->
f:('acc -> 'a -> 'acc) @ local ->
'accval foldi :
'a ('acc : value_or_null). 'a Core.Iarray.t ->
init:'acc ->
f:(int -> 'acc -> 'a -> 'acc) @ local ->
'accval fold_right :
'a ('acc : value_or_null). 'a Core.Iarray.t ->
init:'acc ->
f:('a -> 'acc -> 'acc) @ local ->
'accval fold_map :
'a Core.Iarray.t ->
init:'acc ->
f:('acc -> 'a -> 'acc * 'b) @ local ->
'acc * 'b Core.Iarray.tval fold_mapi :
'a Core.Iarray.t ->
init:'acc ->
f:(int -> 'acc -> 'a -> 'acc * 'b) @ local ->
'acc * 'b Core.Iarray.tMultiple arrays
val zip :
'a Core.Iarray.t ->
'b Core.Iarray.t ->
('a * 'b) Core.Iarray.t optionval zip_exn : 'a Core.Iarray.t -> 'b Core.Iarray.t -> ('a * 'b) Core.Iarray.tval unzip : ('a * 'b) Core.Iarray.t -> 'a Core.Iarray.t * 'b Core.Iarray.tval map2_exn :
'a Core.Iarray.t ->
'b Core.Iarray.t ->
f:('a -> 'b -> 'c) @ local ->
'c Core.Iarray.tval iter2_exn :
'a Core.Iarray.t ->
'b Core.Iarray.t ->
f:('a -> 'b -> unit) @ local ->
unitval cartesian_product :
'a Core.Iarray.t ->
'b Core.Iarray.t ->
('a * 'b) Core.Iarray.tRandom elements
val random_element :
?random_state:Base.Random.State.t ->
'a Core.Iarray.t ->
'a optionval random_element_exn :
?random_state:Base.Random.State.t ->
'a Core.Iarray.t ->
'aBlit operations
val sub : 'a Core.Iarray.t -> pos:int -> len:int -> 'a Core.Iarray.tval subo : ?pos:int -> ?len:int -> 'a Core.Iarray.t -> 'a Core.Iarray.tUnsafe conversions
Immutable arrays can be converted to and from mutable arrays, as they can have the same representation. One must be careful not to modify the mutable array sharing a representation with an immutable array at any time when both are reachable. Doing so violates the invariants of the immutable array. The OCaml compiler might rely on these invariants when compiling or optimizing code that uses immutable arrays.