(* ../LICENSE. *)
(* *)
(***********************************************************************)
-type stats = { run : int;
+
+
+type stats = private { mutable pass : int;
tree_size : int;
- fetch_trans_cache_access : int;
- fetch_trans_cache_hit : int;
- eval_trans_cache_access : int;
- eval_trans_cache_hit : int;
+ mutable fetch_trans_cache_access : int;
+ mutable fetch_trans_cache_miss : int;
+ mutable eval_trans_cache_access : int;
+ mutable eval_trans_cache_miss : int;
+ mutable nodes_per_run : int list;
}
+
module Make (T : Tree.S) :
- sig
- val eval : Ata.t -> T.t -> T.node list -> T.node list
- val full_eval : Ata.t -> T.t -> T.node list -> (State.t * T.node list) list
- val stats : unit -> stats
- end
+sig
+ module Tree : Tree.S with type node = T.node
+ module ResultSet : Deque.S with type elem = Tree.node
+
+ val eval : Ata.t -> Tree.t -> ResultSet.t -> ResultSet.t
+ val full_eval : Ata.t -> Tree.t -> ResultSet.t -> (State.t * ResultSet.t) list
+ val stats : unit -> stats
+end