X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Frun.mli;h=c67f2d13ae7690368d280cc50bc33f6c50b3ac59;hp=725192ebc943bbdbc88c9a8307bf912f3d790ff9;hb=84751fead39221a8e01d20a4692faf0b63a7c996;hpb=e56b9fbeaed04c1f2fb7019de34f7d8e87d6db73 diff --git a/src/run.mli b/src/run.mli index 725192e..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) : - 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