package KaSim

  1. Overview
  2. Docs
type t
type message
val receive_message : message -> t -> t
val empty : Model.t -> t
val debug_print : Format.formatter -> t -> unit
val incorporate_extra_pattern : t -> Pattern.id -> IntCollection.t -> unit
val break_apart_cc : t -> Edges.t -> Roots.mod_ccs_cache -> (int * int) option -> t
val merge_cc : t -> Roots.mod_ccs_cache -> (int * int) option -> t
val update_roots : t -> bool -> Pattern.Set.t -> Edges.t -> Roots.mod_ccs_cache -> Pattern.Set.elt -> int -> unit
val number_of_instances : t -> Pattern.id array -> int
val number_of_unary_instances_in_cc : t -> (Pattern.id * Pattern.id) -> int -> int
val pick_unary_instance_in_cc : t -> Random.State.t -> (Pattern.id * Pattern.id) -> int -> int * int
val fold_picked_instance : t -> Random.State.t -> Pattern.id array -> init:'a -> (int -> Pattern.id -> int -> 'a -> 'a option) -> 'a option
val fold_instances : ?excp:(Pattern.id * int) -> t -> Pattern.id array -> init:'a -> (int array -> 'a -> 'a) -> 'a
val fold_unary_instances : t -> (Pattern.id * Pattern.id) -> init:'a -> ((int * int) -> 'a -> 'a) -> 'a