| (++) [Pvec] | v ++ u is append v u.
|
A | |
| add_first [Pvec] | add_first e v is singleton e ++ v.
|
| add_last [Pvec] | add_last v e is v ++ singleton e.
|
| append [Pvec] | append v u is the vector resulting from appending u to v.
|
B | |
| break_left [Pvec] | break_left n v is (take_left n v, drop_left n v).
|
| break_right [Pvec] | break_right n v is (drop_right n v, take_right n v).
|
C | |
| chunk_left [Pvec] | chunk_left size v is v, in order, chunked into vectors
of exactly size elements except maybe for the last one.
|
| chunk_right [Pvec] | chunk_right size v is v, in order, chunked into vectors
of exactly size elements except maybe for the first one.
|
| compare [Pvec] | compare ~cmp u v is the lexicographic order betwen u and v
using cmp to compare elements.
|
| concat [Pvec] | concat ~sep vs is the concatenation of the vectors of vs, separated
by sep (defaults to Pvec.empty):
vs.(0) ++ sep ++ vs.(2) ++ ...
|
| concat_list [Pvec] | concat_list ~sep vs is concat ~sep (of_list vs).
|
| cut_left [Pvec] | cut_left sep v is either the pair Some (l, r) of the two
(possibly empty) vectors of v that are delimited by the first
match of the non empty separator vector sep or None if sep
can't be matched in v.
|
| cut_right [Pvec] | cut_right sep v is like Pvec.cut_right but matching starts on the right.
|
| cuts_left [Pvec] | cuts_left ~drop_empty ~sep v is the vector of subvectors of v that
are delimited by matches of the non empty separator vector sep.
|
| cuts_right [Pvec] | cuts_right ~drop_empty ~sep v is like Pvec.cuts_left but matching
starts from the right.
|
D | |
| drop_left [Pvec] | drop_left n v has the elements of v without the first n elements.
|
| drop_right [Pvec] | drop_right n v has the elements of v without the last n elements.
|
| dump [Pvec] | dump pp_v ppf v prints an unspecified representation of v on ppf
using pp_v to print the elements.
|
E | |
| edit_distance [Pvec] | edit_distance ~eq u v is the number of single element edits
(insertion, deletion, substitution) that are needed to change
u into v.
|
| el [Pvec] | el v i is the element v.(i), if any; in particular this is
None on i < 0.
|
| empty [Pvec] | empty is the empty vector.
|
| equal [Pvec] | equal ~eq u v is true iff u and v have the same length
and for all indices i of u, eq u.(0) v.(1).
|
| exists [Pvec] | exists p is true iff there exists an index i of v with p
v.(i) = true.
|
F | |
| fields [Pvec] | fields ~drop_empty ~is_sep v is the vector of (possibly empty)
subvectors that are delimited by elements for which is_sep is true.
|
| fill [Pvec] | fill ~pad u i e is:
set u i e if i is a valid index of u., set (u ++ (v len:(i + 1 - length v) pad)) i e otherwise.
|
| fill_first [Pvec] | fill_first v e is set v 0 e or singleton e if v is empty.
|
| fill_last [Pvec] | fill_last v e is set v (length v - 1) e or singleton e if
v is empty.
|
| filter [Pvec] | filter sat v is fst (partition sat v).
|
| filter_map [Pvec] | filter_map f s is filter_mapi (fun _ e -> f e) v.
|
| filter_mapi [Pvec] | filter_map f s is the vector made of the elements of v as
(and if) mapped by f, in the same order.
|
| first_el [Pvec] | first_el v is el v 0.
|
| fold_left [Pvec] | fold_left f acc v is foldi_left (fun acc _ e -> f acc) acc v.
|
| fold_right [Pvec] | fold_right f v acc is foldi_right (fun _ e acc -> f acc) v acc.
|
| foldi_left [Pvec] | foldi_left f acc v is f (... (f (f acc 0 v.(0)) 1 v.(1)) ...) m s.(m)
with m = length v - 1 or acc if v is empty.
|
| foldi_right [Pvec] | fold_right f v acc is f 0 v.(0) (f 1 v.(1) (... (f m v.(m) acc) ..))
with m = length v - 1 or acc if v is empty.
|
| for_all [Pvec] | for_all p v is true iff for all indices i of v, p v.(i) = true.
|
G | |
| get [Pvec] | get v i is v.(i).
|
| get_first [Pvec] | get_first v is get v 0.
|
| get_last [Pvec] | get_last v is get v (length v - 1).
|
I | |
| indices [Pvec] | indices v is mapi (fun i _ -> i).
|
| init [Pvec] | init ~len f is a vector v of length len with v.(i) = f i for
all valid indices i of v.
|
| ints [Pvec] | ints n is the sequence of integers from start (defaults to
0) to n (included).
|
| is_empty [Pvec] | is_empty v is true iff length v = 0.
|
| is_filled [Pvec] | is_filled v i is true iff v.(i) exists.
|
| is_infix [Pvec] | is_infix ~eq ~affix v is true iff affix can be found in v
that is iff there exists an index j in v such that for all
valid indices i of affix, eq affix.(i) v.(j + i) =
true.
|
| is_prefix [Pvec] | is_prefix ~eq ~affix v is true iff affix is a prefix of v
that is iff eq affix.(i) v.(i) = true for all valid indices
i of affix.
|
| is_suffix [Pvec] | is_suffix ~eq ~affix v is true iff affix is a suffix of v
that is iff eq affix.(n - i) v.(m - i) = true for all indices
i of affix with n = length affix - 1 and m = last_index
v.
|
| iter_left [Pvec] | iter_left f v is iteri_left (fun _ e -> f e) v.
|
| iter_right [Pvec] | iter_right f v is iteri_right (fun _ e -> f e) v.
|
| iteri_left [Pvec] | iteri_left f v is f 0 v.(0); f 1 v.(1); ...; f m v.(m) with
m = length v - 1 or () if v is empty.
|
| iteri_right [Pvec] | iteri_right f v is f m v.(m); f (m-1) v.(m-1); ...; f 0 v.(0) with
m = length v - 1 or () if v is empty.
|
K | |
| keep_left [Pvec] | keep_left sat v has the first consecutive sat satisfying
elements of v.
|
| keep_right [Pvec] | keep_right sat v has the last consecutive sat satisfying
elements of v.
|
L | |
| last_el [Pvec] | last_el v is el v (length v - 1).
|
| left_find [Pvec] | left_find ~start sat v is Some (i, v.(i)) with i the
smallest index i, if any, greater or equal to start such that
sat v.(i) is true.
|
| length [Pvec] | length v is the number of elements in v.
|
| lose_left [Pvec] | lose_left sat v has the elements of v without the first
consecutive sat satisfying elements of v.
|
| lose_right [Pvec] | lose_right sat v has the elements of v without the last
consecutive sat satisfying elements of v.
|
M | |
| map [Pvec] | map f v is mapi (fun _ e -> f e) v.
|
| mapi [Pvec] | mapi f v is u with u.(i) = f i v.(i) for all indices i of
v or the empty vector if v is empty.
|
| max_length [Pvec] | max_length is the maximal vector length.
|
O | |
| of_array [Pvec] | of_array a is a as a persistent vector.
|
| of_bytes [Pvec] | of_bytes bytes is bytes as a persistent vector.
|
| of_list [Pvec] | of_list l is l as a persistent vector.
|
| of_string [Pvec] | of_string s is s as a persistent vector.
|
P | |
| partition [Pvec] | partition sat v is a pair of vectors (vt, vf) with
vt the elements that satisfy sat and vf the elements
that do not.
|
| pop_first [Pvec] | pop_first v is Some (get_first v, drop_left 1 v) or None
if v is empty.
|
| pop_last [Pvec] | pop_last v is Some (drop_right 1 v, get_last v) or None
if v is empty.
|
| pp [Pvec] | pp ~sep pp_v ppf v formats v's elements.
|
| pp_chars [Pvec] | pp_chars is pp ~sep:(fun _ _ -> ()) Format.pp_print_char.
|
R | |
| range [Pvec] | range ~first ~last v is u defined as the consecutive elements
of v whose indices exist in the range [first;last], in the
same order.
|
| rem [Pvec] | rem v i is rem_range ~first:i ~last:i v.
|
| rem_first [Pvec] | rem_first v is rem v 0.
|
| rem_last [Pvec] | rem_last v is rem v (length v - 1).
|
| rem_range [Pvec] | rem_range ~first ~last v is v without the elements of v
that exist in the range [first;last].
|
| rev [Pvec] | rev v is u the vector with elements of v reversed, u.(i) =
v.(length v - 1 - i) for all indices i of v or the empty
vector if v is empty.
|
| right_find [Pvec] | right_find ~start sat v is Some (i, v.(i)) with i the
greatest index i, if any, smaller or equal to start such that
sat v.(i) is true.
|
S | |
| set [Pvec] | set v i e is v with the element at index i equal to e.
|
| set_first [Pvec] | set_first v e is set v 0 e.
|
| set_last [Pvec] | set_last v e is set v (length v - 1) e.
|
| shuffle [Pvec] | shuffle rand v is a random permutation of v's elements.
|
| singleton [Pvec] | singleton e is v ~len:1 e.
|
| sort_uniq [Pvec] | sort_uniq compare v is like Pvec.stable_sort except duplicates
are removed.
|
| span_left [Pvec] | span_left sat v is (keep_left sat v, lose_left sat v).
|
| span_right [Pvec] | span_right sat v is (lose_right sat v, keep_right sat v).
|
| splice [Pvec] | splice ~into ~first ~last v replaces the elements of into in
range [first; last] with those of v or inserts v at
first if the range is empty.
|
| stable_sort [Pvec] | stable_sort compare v is v with its elements sorted according to
compare.
|
| suggest [Pvec] | suggest ~dist candidates v are the elements of candidates
whose Pvec.edit_distance is the smallest to s and at most
at distance dist of s (defaults to 2).
|
T | |
| take_left [Pvec] | take_left n v has the first n elements of v.
|
| take_right [Pvec] | take_right n v has the last n elements of v.
|
| to_array [Pvec] | to_array v is v as an array.
|
| to_bytes [Pvec] | to_string v is v as bytes
|
| to_list [Pvec] | to_list v is v as a list.
|
| to_string [Pvec] | to_string v is v as a string.
|
| transpose [Pvec] | transpose v is u such that u.(i).(j) = v.(j).(i) for all
indices i of v and j of its subvectors.
|
| trim [Pvec] | trim drop v is lose_right drop (lose_left drop v).
|
U | |
| unstutter [Pvec] | unstutter ~eq v is v without consecutive equal elements.
|
V | |
| v [Pvec] | v len e is a vector u of length len with u.(i) = e for all
valid indices i of u.
|