jon.recoil.org

Module Base.IarraySource

module type Operators = sig ... end
module type Public = sig ... end
include Base.Iarray.Public with type 'a t = 'a Basement.Stdlib_iarray_labels.t
include sig ... end
Sourceval compare : 'a. ('a -> 'a -> int) -> 'a Base.Iarray.t -> 'a Base.Iarray.t -> int
Sourceval compare__local : 'a. ('a @ local -> 'a @ local -> int) -> 'a Base.Iarray.t @ local -> 'a Base.Iarray.t @ local -> int
Sourceval equal : 'a. ('a -> 'a -> bool) -> 'a Base.Iarray.t -> 'a Base.Iarray.t -> bool
Sourceval equal__local : 'a. ('a @ local -> 'a @ local -> bool) -> 'a Base.Iarray.t @ local -> 'a Base.Iarray.t @ local -> bool
Sourceval sexp_of_t : 'a. ('a -> Sexplib0.Sexp.t) -> 'a Base.Iarray.t -> Sexplib0.Sexp.t
Sourceval sexp_of_t__stack : 'a. ('a @ local -> Sexplib0.Sexp.t @ local) -> 'a Base.Iarray.t @ local -> Sexplib0.Sexp.t @ local
Sourceval t_of_sexp : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Base.Iarray.t
Sourceval t_sexp_grammar : 'a. 'a Sexplib0.Sexp_grammar.t -> 'a Base.Iarray.t Sexplib0.Sexp_grammar.t @@ portable
include sig ... end
include sig ... end
Sourceval globalize : 'a. ('a @ local -> 'a) -> 'a Base.Iarray.t @ local -> 'a Base.Iarray.t

Standard interfaces

include Base.Binary_searchable.S1__local with type 'a t := 'a Base.Iarray.t
Sourceval binary_search__local : ?pos:int -> ?len:int -> 'a Base.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 @ local
Sourceval binary_search_segmented : ?pos:int -> ?len:int -> 'a Base.Iarray.t -> segment_of:('a -> [ `Left | `Right ]) @ local -> [ `Last_on_left | `First_on_right ] -> int option @ local
Sourceval binary_search_segmented__local : ?pos:int -> ?len:int -> 'a Base.Iarray.t @ local -> segment_of:('a @ local -> [ `Left | `Right ]) @ local -> [ `Last_on_left | `First_on_right ] -> int option @ local
include Base.Indexed_container.S1_with_creators__stack with type 'a t := 'a Base.Iarray.t
Sourceval iteri : 'a Base.Iarray.t -> f:(int -> 'a -> unit) @ local -> unit
Sourceval existsi : 'a Base.Iarray.t -> f:(int -> 'a -> bool) @ local -> bool
Sourceval for_alli : 'a Base.Iarray.t -> f:(int -> 'a -> bool) @ local -> bool
Sourceval counti : 'a Base.Iarray.t -> f:(int -> 'a -> bool) @ local -> int
Sourceval iteri_until : 'a Base.Iarray.t -> f:(int -> 'a -> (unit, 'final) Container.Continue_or_stop.t) @ local -> finish:(int -> 'final) @ local -> 'final
Sourceval find_mapi : 'a Base.Iarray.t -> f:(int -> 'a -> 'b option) @ local -> 'b option
Sourceval foldi_until : 'a Base.Iarray.t -> init:'acc -> f:(int -> 'acc -> 'a -> ('acc, 'final) Container.Continue_or_stop.t) @ local -> finish:(int -> 'acc -> 'final) @ local -> 'final
Sourceval iteri_until__global__local : 'a Base.Iarray.t -> f:(int -> 'a -> (unit, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:(int -> 'final @ local) @ local -> 'final @ local
Sourceval find_mapi__global__local : 'a Base.Iarray.t -> f:(int -> 'a -> 'b option @ local) @ local -> 'b option @ local
Sourceval foldi_until__global__local : 'a Base.Iarray.t -> init:'acc @ local -> f: (int -> 'acc @ local -> 'a -> ('acc, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:(int -> 'acc @ local -> 'final @ local) @ local -> 'final @ local
Sourceval iteri__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> unit) @ local -> unit
Sourceval existsi__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> bool) @ local -> bool
Sourceval for_alli__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> bool) @ local -> bool
Sourceval counti__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> bool) @ local -> int
Sourceval iteri_until__local__global : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> (unit, 'final) Container.Continue_or_stop.t) @ local -> finish:(int -> 'final) @ local -> 'final
Sourceval find_mapi__local__global : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b option) @ local -> 'b option
Sourceval foldi_until__local__global : 'a Base.Iarray.t @ local -> init:'acc -> f: (int -> 'acc -> 'a @ local -> ('acc, 'final) Container.Continue_or_stop.t) @ local -> finish:(int -> 'acc -> 'final) @ local -> 'final
Sourceval iteri_until__local__local : 'a Base.Iarray.t @ local -> f: (int -> 'a @ local -> (unit, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:(int -> 'final @ local) @ local -> 'final @ local
Sourceval find_mapi__local__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b option @ local) @ local -> 'b option @ local
Sourceval foldi_until__local__local : 'a Base.Iarray.t @ local -> init:'acc @ local -> f: (int -> 'acc @ local -> 'a @ local -> ('acc, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:(int -> 'acc @ local -> 'final @ local) @ local -> 'final @ local
Sourceval findi : 'a Base.Iarray.t -> f:(int -> 'a -> bool) @ local -> (int * 'a) option
Sourceval findi__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> bool) @ local -> (int * 'a) option @ local
Sourceval is_empty : 'a Base.Iarray.t @ local -> bool
Sourceval iter : 'a Base.Iarray.t -> f:('a -> unit) @ local -> unit
Sourceval iter__local : 'a Base.Iarray.t @ local -> f:('a @ local -> unit) @ local -> unit
Sourceval exists : 'a Base.Iarray.t -> f:('a -> bool) @ local -> bool
Sourceval exists__local : 'a Base.Iarray.t @ local -> f:('a @ local -> bool) @ local -> bool
Sourceval for_all : 'a Base.Iarray.t -> f:('a -> bool) @ local -> bool
Sourceval for_all__local : 'a Base.Iarray.t @ local -> f:('a @ local -> bool) @ local -> bool
Sourceval count : 'a Base.Iarray.t -> f:('a -> bool) @ local -> int
Sourceval count__local : 'a Base.Iarray.t @ local -> f:('a @ local -> bool) @ local -> int
Sourceval find : 'a Base.Iarray.t -> f:('a -> bool) @ local -> 'a option
Sourceval find__local : 'a Base.Iarray.t @ local -> f:('a @ local -> bool) @ local -> 'a option @ local
Sourceval to_list : 'a Base.Iarray.t -> 'a list
Sourceval to_list__stack : 'a Base.Iarray.t @ local -> 'a list @ local
Sourceval min_elt : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> 'a option
Sourceval min_elt__local : 'a Base.Iarray.t @ local -> compare:('a @ local -> 'a @ local -> int) @ local -> 'a option @ local
Sourceval max_elt : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> 'a option
Sourceval max_elt__local : 'a Base.Iarray.t @ local -> compare:('a @ local -> 'a @ local -> int) @ local -> 'a option @ local
Sourceval sum : (module Base__Container_intf.Definitions.Summable__value_or_null with type t = 'sum) -> 'a Base.Iarray.t -> f:('a -> 'sum) @ local -> 'sum
Sourceval sum__global__local : (module Base__Container_intf.Definitions.Summable__value_or_null__local with type t = 'sum) -> 'a Base.Iarray.t -> f:('a -> 'sum @ local) @ local -> 'sum @ local
Sourceval sum__local__global : (module Base__Container_intf.Definitions.Summable__value_or_null with type t = 'sum) -> 'a Base.Iarray.t @ local -> f:('a @ local -> 'sum) @ local -> 'sum
Sourceval sum__local__local : (module Base__Container_intf.Definitions.Summable__value_or_null__local with type t = 'sum) -> 'a Base.Iarray.t @ local -> f:('a @ local -> 'sum @ local) @ local -> 'sum @ local
Sourceval iter_until : 'a Base.Iarray.t -> f:('a -> (unit, 'final) Container.Continue_or_stop.t) @ local -> finish:(unit -> 'final) @ local -> 'final
Sourceval iter_until__global__local : 'a Base.Iarray.t -> f:('a -> (unit, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:(unit -> 'final @ local) @ local -> 'final @ local
Sourceval iter_until__local__global : 'a Base.Iarray.t @ local -> f:('a @ local -> (unit, 'final) Container.Continue_or_stop.t) @ local -> finish:(unit -> 'final) @ local -> 'final
Sourceval iter_until__local__local : 'a Base.Iarray.t @ local -> f:('a @ local -> (unit, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:(unit -> 'final @ local) @ local -> 'final @ local
Sourceval fold_result : 'a Base.Iarray.t -> init:'acc -> f:('acc -> 'a -> ('acc, 'e) Stdlib.result) @ local -> ('acc, 'e) Stdlib.result
Sourceval fold_result__global__local : 'a Base.Iarray.t -> init:'acc @ local -> f:('acc @ local -> 'a -> ('acc, 'e) Stdlib.result @ local) @ local -> ('acc, 'e) Stdlib.result @ local
Sourceval fold_result__local__global : 'a Base.Iarray.t @ local -> init:'acc -> f:('acc -> 'a @ local -> ('acc, 'e) Stdlib.result) @ local -> ('acc, 'e) Stdlib.result
Sourceval fold_result__local__local : 'a Base.Iarray.t @ local -> init:'acc @ local -> f:('acc @ local -> 'a @ local -> ('acc, 'e) Stdlib.result @ local) @ local -> ('acc, 'e) Stdlib.result @ local
Sourceval find_map : 'a Base.Iarray.t -> f:('a -> 'b option) @ local -> 'b option
Sourceval find_map__global__local : 'a Base.Iarray.t -> f:('a -> 'b option @ local) @ local -> 'b option @ local
Sourceval find_map__local__global : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b option) @ local -> 'b option
Sourceval find_map__local__local : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b option @ local) @ local -> 'b option @ local
Sourceval fold_until : 'a Base.Iarray.t -> init:'acc -> f:('acc -> 'a -> ('acc, 'final) Container.Continue_or_stop.t) @ local -> finish:('acc -> 'final) @ local -> 'final
Sourceval fold_until__global__local : 'a Base.Iarray.t -> init:'acc @ local -> f: ('acc @ local -> 'a -> ('acc, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:('acc @ local -> 'final @ local) @ local -> 'final @ local
Sourceval fold_until__local__global : 'a Base.Iarray.t @ local -> init:'acc -> f:('acc -> 'a @ local -> ('acc, 'final) Container.Continue_or_stop.t) @ local -> finish:('acc -> 'final) @ local -> 'final
Sourceval fold_until__local__local : 'a Base.Iarray.t @ local -> init:'acc @ local -> f: ('acc @ local -> 'a @ local -> ('acc, 'final) Container.Continue_or_stop.t @ local) @ local -> finish:('acc @ local -> 'final @ local) @ local -> 'final @ local
Sourceval mem : 'a Base.Iarray.t -> 'a -> equal:('a -> 'a -> bool) @ local -> bool
Sourceval mem__local : 'a Base.Iarray.t @ local -> 'a @ local -> equal:('a @ local -> 'a @ local -> bool) @ local -> bool
Sourceval of_list : 'a list -> 'a Base.Iarray.t
Sourceval of_list__stack : 'a list @ local -> 'a Base.Iarray.t @ local
Sourceval append : 'a Base.Iarray.t -> 'a Base.Iarray.t -> 'a Base.Iarray.t
Sourceval append__stack : 'a Base.Iarray.t @ local -> 'a Base.Iarray.t @ local -> 'a Base.Iarray.t @ local
Sourceval concat__stack : 'a Base.Iarray.t Base.Iarray.t @ local -> 'a Base.Iarray.t @ local
Sourceval filter : 'a Base.Iarray.t -> f:('a -> bool) @ local -> 'a Base.Iarray.t
Sourceval filter__stack : 'a Base.Iarray.t @ local -> f:('a @ local -> bool) @ local -> 'a Base.Iarray.t @ local
Sourceval partition_tf : 'a Base.Iarray.t -> f:('a -> bool) @ local -> 'a Base.Iarray.t * 'a Base.Iarray.t
Sourceval partition_tf__stack : 'a Base.Iarray.t @ local -> f:('a @ local -> bool) @ local -> 'a Base.Iarray.t * 'a Base.Iarray.t @ local
Sourceval map : 'a Base.Iarray.t -> f:('a -> 'b) @ local -> 'b Base.Iarray.t
Sourceval map__stack : 'a Base.Iarray.t -> f:('a -> 'b @ local) @ local -> 'b Base.Iarray.t @ local
Sourceval map__local : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b) @ local -> 'b Base.Iarray.t
Sourceval map__local__stack : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b @ local) @ local -> 'b Base.Iarray.t @ local
Sourceval filter_map : 'a Base.Iarray.t -> f:('a -> 'b option) @ local -> 'b Base.Iarray.t
Sourceval filter_map__stack : 'a Base.Iarray.t -> f:('a -> 'b option @ local) @ local -> 'b Base.Iarray.t @ local
Sourceval filter_map__local : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b option) @ local -> 'b Base.Iarray.t
Sourceval filter_map__local__stack : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b option @ local) @ local -> 'b Base.Iarray.t @ local
Sourceval concat_map : 'a Base.Iarray.t -> f:('a -> 'b Base.Iarray.t) @ local -> 'b Base.Iarray.t
Sourceval concat_map__stack : 'a Base.Iarray.t -> f:('a -> 'b Base.Iarray.t @ local) @ local -> 'b Base.Iarray.t @ local
Sourceval concat_map__local : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b Base.Iarray.t) @ local -> 'b Base.Iarray.t
Sourceval concat_map__local__stack : 'a Base.Iarray.t @ local -> f:('a @ local -> 'b Base.Iarray.t @ local) @ local -> 'b Base.Iarray.t @ local
Sourceval partition_map : 'a Base.Iarray.t -> f:('a -> ('b, 'c) Base__Either0.t) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t
Sourceval partition_map__stack : 'a Base.Iarray.t -> f:('a -> ('b, 'c) Base__Either0.t @ local) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t @ local
Sourceval partition_map__local : 'a Base.Iarray.t @ local -> f:('a @ local -> ('b, 'c) Base__Either0.t) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t
Sourceval partition_map__local__stack : 'a Base.Iarray.t @ local -> f:('a @ local -> ('b, 'c) Base__Either0.t @ local) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t @ local
Sourceval to_array : 'a Base.Iarray.t -> 'a array
Sourceval of_array : 'a array -> 'a Base.Iarray.t
Sourceval of_array__stack : 'a array @ local -> 'a Base.Iarray.t @ local
Sourceval filteri : 'a Base.Iarray.t -> f:(int -> 'a -> bool) @ local -> 'a Base.Iarray.t
Sourceval filteri__stack : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> bool) @ local -> 'a Base.Iarray.t @ local
Sourceval partitioni_tf : 'a Base.Iarray.t -> f:(int -> 'a -> bool) @ local -> 'a Base.Iarray.t * 'a Base.Iarray.t

partitioni_tf t ~f is like partition_tf. Additionally, it passes the index as an argument.

Sourceval partitioni_tf__stack : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> bool) @ local -> 'a Base.Iarray.t * 'a Base.Iarray.t @ local

partitioni_tf t ~f is like partition_tf. Additionally, it passes the index as an argument.

Sourceval mapi : 'a Base.Iarray.t -> f:(int -> 'a -> 'b) @ local -> 'b Base.Iarray.t

mapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval mapi__stack : 'a Base.Iarray.t -> f:(int -> 'a -> 'b @ local) @ local -> 'b Base.Iarray.t @ local

mapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval mapi__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b) @ local -> 'b Base.Iarray.t

mapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval mapi__local__stack : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b @ local) @ local -> 'b Base.Iarray.t @ local

mapi is like map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval filter_mapi : 'a Base.Iarray.t -> f:(int -> 'a -> 'b option) @ local -> 'b Base.Iarray.t

filter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval filter_mapi__stack : 'a Base.Iarray.t -> f:(int -> 'a -> 'b option @ local) @ local -> 'b Base.Iarray.t @ local

filter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval filter_mapi__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b option) @ local -> 'b Base.Iarray.t

filter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval filter_mapi__local__stack : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b option @ local) @ local -> 'b Base.Iarray.t @ local

filter_mapi is like filter_map. Additionally, it passes in the index of each element as the first argument to the mapped function.

Sourceval concat_mapi : 'a Base.Iarray.t -> f:(int -> 'a -> 'b Base.Iarray.t) @ local -> 'b Base.Iarray.t

concat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.

Sourceval concat_mapi__stack : 'a Base.Iarray.t -> f:(int -> 'a -> 'b Base.Iarray.t @ local) @ local -> 'b Base.Iarray.t @ local

concat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.

Sourceval concat_mapi__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b Base.Iarray.t) @ local -> 'b Base.Iarray.t

concat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.

Sourceval concat_mapi__local__stack : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> 'b Base.Iarray.t @ local) @ local -> 'b Base.Iarray.t @ local

concat_mapi t ~f is like concat_map. Additionally, it passes the index as an argument.

Sourceval partition_mapi : 'a Base.Iarray.t -> f:(int -> 'a -> ('b, 'c) Base__.Either0.t) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t

partition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.

Sourceval partition_mapi__stack : 'a Base.Iarray.t -> f:(int -> 'a -> ('b, 'c) Base__.Either0.t @ local) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t @ local

partition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.

Sourceval partition_mapi__local : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> ('b, 'c) Base__.Either0.t) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t

partition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.

Sourceval partition_mapi__local__stack : 'a Base.Iarray.t @ local -> f:(int -> 'a @ local -> ('b, 'c) Base__.Either0.t @ local) @ local -> 'b Base.Iarray.t * 'c Base.Iarray.t @ local

partition_mapi t ~f is like partition_map. Additionally, it passes the index as an argument.

include Base.Invariant.S1 with type 'a t := 'a Base.Iarray.t
Sourceval invariant : ('a -> unit) -> 'a Base.Iarray.t -> unit

Operators

Sourcemodule O : sig ... end
val (.:()) : 'a. 'a Basement.Stdlib_iarray_labels.t -> int -> 'a

An alias for get.

Indexing

val length : 'a. 'a Base.Iarray.t @ immutable -> int
include sig ... end
val get : 'a. 'a Base.Iarray.t -> int -> 'a
Sourceval get_opt : 'a Base.Iarray.t -> int -> 'a option
val unsafe_get : 'a. 'a Base.Iarray.t -> int -> 'a
include sig ... end
include sig ... end
Sourceval last_exn : 'a Base.Iarray.t -> 'a

Functional update

Sourceval set : 'a Base.Iarray.t -> int -> 'a -> 'a Base.Iarray.t
Sourceval update : 'a Base.Iarray.t -> int -> f:('a -> 'a) -> 'a Base.Iarray.t

Constructors

Sourceval empty : _ Base.Iarray.t
Sourceval singleton : 'a -> 'a Base.Iarray.t
Sourceval create : len:int -> 'a -> mutate:('a array @ local -> unit) @ local -> 'a Basement.Stdlib_iarray_labels.t
Sourceval init : 'a. int -> f:(int -> 'a) @ local -> 'a Base.Iarray.t

Conversions

Sourceval of_sequence : 'a Base.Sequence.t -> 'a Base.Iarray.t
Sourceval to_sequence : 'a Base.Iarray.t -> 'a Base.Sequence.t
Sourceval of_list_rev : 'a list -> 'a Base.Iarray.t
Sourceval of_list_map : 'a list -> f:('a -> 'b) @ local -> 'b Base.Iarray.t
Sourceval of_list_mapi : 'a list -> f:(int -> 'a -> 'b) @ local -> 'b Base.Iarray.t
Sourceval of_list_rev_map : 'a list -> f:('a -> 'b) @ local -> 'b Base.Iarray.t

Subsequences

Sourceval prefix : 'a Base.Iarray.t -> len:int -> 'a Base.Iarray.t
Sourceval suffix : 'a Base.Iarray.t -> len:int -> 'a Base.Iarray.t
Sourceval drop_prefix : 'a Base.Iarray.t -> len:int -> 'a Base.Iarray.t
Sourceval drop_suffix : 'a Base.Iarray.t -> len:int -> 'a Base.Iarray.t
Sourceval group : 'a Base.Iarray.t -> break:('a -> 'a -> bool) @ local -> 'a Base.Iarray.t Base.Iarray.t
Sourceval split_n : 'a Base.Iarray.t -> int -> 'a Base.Iarray.t * 'a Base.Iarray.t

split_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).
Sourceval chunks_of : 'a Base.Iarray.t -> length:int -> 'a Base.Iarray.t Base.Iarray.t

chunks_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

Sourceval sort : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> 'a Base.Iarray.t
Sourceval stable_sort : 'a Base.Iarray.t -> compare:('a -> 'a -> int) -> 'a Base.Iarray.t
Sourceval dedup_and_sort : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> 'a Base.Iarray.t
Sourceval sort_and_group : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> 'a Base.Iarray.t Base.Iarray.t
Sourceval is_sorted : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> bool
Sourceval is_sorted_strictly : 'a Base.Iarray.t -> compare:('a -> 'a -> int) @ local -> bool

Combining elements

Sourceval reduce : 'a Base.Iarray.t -> f:('a -> 'a -> 'a) @ local -> 'a option
Sourceval reduce_exn : 'a Base.Iarray.t -> f:('a -> 'a -> 'a) @ local -> 'a
Sourceval combine_errors_unit : unit Base.Or_error.t Base.Iarray.t -> unit Base.Or_error.t
include sig ... end
include sig ... end
Sourceval fold : 'a ('acc : value_or_null). 'a Base.Iarray.t -> init:'acc -> f:('acc -> 'a -> 'acc) @ local -> 'acc
Sourceval foldi : 'a ('acc : value_or_null). 'a Base.Iarray.t -> init:'acc -> f:(int -> 'acc -> 'a -> 'acc) @ local -> 'acc
Sourceval fold_right : 'a ('acc : value_or_null). 'a Base.Iarray.t -> init:'acc -> f:('a -> 'acc -> 'acc) @ local -> 'acc
Sourceval fold_map : 'a Base.Iarray.t -> init:'acc -> f:('acc -> 'a -> 'acc * 'b) @ local -> 'acc * 'b Base.Iarray.t
Sourceval fold_mapi : 'a Base.Iarray.t -> init:'acc -> f:(int -> 'acc -> 'a -> 'acc * 'b) @ local -> 'acc * 'b Base.Iarray.t

Multiple arrays

Sourceval zip : 'a Base.Iarray.t -> 'b Base.Iarray.t -> ('a * 'b) Base.Iarray.t option
Sourceval zip_exn : 'a Base.Iarray.t -> 'b Base.Iarray.t -> ('a * 'b) Base.Iarray.t
Sourceval unzip : ('a * 'b) Base.Iarray.t -> 'a Base.Iarray.t * 'b Base.Iarray.t
Sourceval map2_exn : 'a Base.Iarray.t -> 'b Base.Iarray.t -> f:('a -> 'b -> 'c) @ local -> 'c Base.Iarray.t
Sourceval iter2_exn : 'a Base.Iarray.t -> 'b Base.Iarray.t -> f:('a -> 'b -> unit) @ local -> unit
Sourceval cartesian_product : 'a Base.Iarray.t -> 'b Base.Iarray.t -> ('a * 'b) Base.Iarray.t

Random elements

Sourceval random_element : ?random_state:Base.Random.State.t -> 'a Base.Iarray.t -> 'a option
Sourceval random_element_exn : ?random_state:Base.Random.State.t -> 'a Base.Iarray.t -> 'a

Blit operations

Sourceval sub : 'a Base.Iarray.t -> pos:int -> len:int -> 'a Base.Iarray.t
Sourceval subo : ?pos:int -> ?len:int -> 'a Base.Iarray.t -> 'a Base.Iarray.t
Sourcemodule Of_array : sig ... end
Sourcemodule To_array : sig ... end
Sourcemodule Local : sig ... end

Operations for local iarrays.

Sourcemodule Unique : sig ... end

Operations for unique iarrays

Unsafe 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.