Module Incremental_kernel__Unordered_array_fold

A module internal to Incremental. Users should see Incremental_intf.

An ('a, 'acc) Unordered_array_fold.t is a kind of DAG node, where 'a is the type of value being folded and 'acc is the type of the accumulator.

include module type of sig ... end
type ('a, 'acc) t = ('a'accIncremental_kernel__Types.Unordered_array_fold.t = {
main : 'acc Incremental_kernel__Types.Node.t;
init : 'acc;
f : 'acc ‑> 'a ‑> 'acc;
f_inverse : 'acc ‑> 'a ‑> 'acc;
full_compute_every_n_changes : int;
children : 'a Incremental_kernel__Types.Node.t array;
mutable fold_value : 'acc Incremental_kernel__.Uopt.t;
mutable num_changes_since_last_full_compute : int;
}
include Core_kernel.Invariant.S2 with type (a, acc) t := (a, acc) t
type ('a, 'b) t
include Incremental_kernel__.Sexp_of.S2 with type (a, acc) t := (a, acc) t
type ('a, 'b) t
include sig ... end
val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> ('b ‑> Base.Sexp.t) ‑> ('a'bt ‑> Base.Sexp.t
val create : init:'acc ‑> f:('acc ‑> 'a ‑> 'acc) ‑> f_inverse:('acc ‑> 'a ‑> 'acc) ‑> full_compute_every_n_changes:int ‑> children:'a Incremental_kernel__.Types.Node.t array ‑> main:'acc Incremental_kernel__.Types.Node.t ‑> ('a'acct
val compute : (_'acct ‑> 'acc
val child_changed : ('a_t ‑> old_value_opt:'a Incremental_kernel__.Uopt.t ‑> new_value:'a ‑> unit
val force_full_compute : (__t ‑> unit