X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Frun.mli;h=c67f2d13ae7690368d280cc50bc33f6c50b3ac59;hp=e124e8ae19e6f77cc63b6ed9ff509fe62b79c172;hb=84751fead39221a8e01d20a4692faf0b63a7c996;hpb=3406b26f1ea26a997d7f194c547439891c108ce6 diff --git a/src/run.mli b/src/run.mli index e124e8a..c67f2d1 100644 --- a/src/run.mli +++ b/src/run.mli @@ -12,16 +12,23 @@ (* ../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) (L : Node_list.S with type node = T.node) : - sig - val eval : Ata.t -> T.t -> L.t -> L.t - val full_eval : Ata.t -> T.t -> L.t -> (State.t * L.t) list - val stats : unit -> stats - end + +module Make (T : Tree.S) : +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