X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fata.ml;fp=src%2Fata.ml;h=8b51a0861ab627c91dfa39022e0bfe636b257545;hb=3e06951df10cfe1db40edbd980e1f7c2e73962f7;hp=9fe128ae92a27b9b6883ae46bb5205e8b50994f3;hpb=556c8805fcfd27f485bdd63cd704e4df7eac8a06;p=tatoo.git diff --git a/src/ata.ml b/src/ata.ml index 9fe128a..8b51a08 100644 --- a/src/ata.ml +++ b/src/ata.ml @@ -14,7 +14,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) INCLUDE "utils.ml" @@ -199,7 +199,10 @@ type config = { unsat : StateSet.t; todo : TransList.t; summary : node_summary; + (** optimization infos, + not taken into account during hashconsing *) mutable round : int; + mutable unstable_subtree : bool; } module Config = Hcons.Make(struct @@ -240,7 +243,8 @@ let dummy_config = Config.make { sat = StateSet.empty; unsat = StateSet.empty; todo = TransList.nil; summary = dummy_summary; - round = 0 + round = 0; + unstable_subtree = true; } @@ -442,7 +446,7 @@ let eval_trans auto fcs nss ps ss = let unsat = StateSet.union unsat (StateSet.diff removed kept) in (* States that were found once to be satisfiable remain so *) let unsat = StateSet.diff unsat sat in - let new_config = Config.make { sat; unsat; todo ; summary = old_summary ; round = 0 } in + let new_config = Config.make { old_config.Config.node with sat; unsat; todo; } in Cache.N4.add auto.cache4 oid fcsid nssid psid new_config; new_config in