obatcher.ds
Make.Batched
obatcher
type t = Sequential.t
type cfg = {
size : int;
}
type 'a op =
| Insert : V.t -> unit op
| Member : V.t -> bool op
| Size : int op
type wrapped_op =
| Mk : 'a op * 'a Picos.Computation.t -> wrapped_op
val init : ?cfg:cfg -> unit -> Sequential.t
type intermediate = {
batch_size : int;
maxinsertlevel : int ref;
level_arr : int array;
new_node_arr : Sequential.node array;
new_node_back_arr : Sequential.node array;
prev_node_idx : int array;
val build_node : Sequential.t -> int -> V.t -> intermediate -> unit
val relate_nodes : Sequential.t -> int -> intermediate -> unit
val merge_list : Sequential.t -> int -> intermediate -> unit
val remove_duplicates : 'a array -> int -> int
val par_insert : Sequential.t -> V.t array -> unit
val par_search : Sequential.t -> V.t array -> bool array
val par_size : Sequential.t -> int array -> int array
val run : Sequential.t -> wrapped_op array -> unit