20 #ifndef SPOT_TGBAALGOS_EMPTINESS_STATS_HH
21 # define SPOT_TGBAALGOS_EMPTINESS_STATS_HH
25 #include "misc/ltstr.hh"
41 get(
const char* str)
const
43 stats_map::const_iterator i = stats.find(str);
44 assert(i != stats.end());
45 return (this->*i->second)();
49 typedef std::map<const char*, unsigned_fun, char_ptr_less_than> stats_map;
77 unsigned_statistics::stats_map::const_iterator i;
78 for (i = o.stats.begin(); i != o.stats.end(); ++i)
79 stats[i->first] = (o.*i->second)();
88 typedef std::map<const char*, unsigned, char_ptr_less_than> stats_map;
95 stats_map::const_iterator i;
96 for (i = stats.begin(); i != stats.end(); ++i)
98 stats_map::const_iterator i2 = o.stats.find(i->first);
99 if (i2 == o.stats.end())
101 if (i->second != i2->second)
110 return !(*
this == o);
125 : states_(0), transitions_(0), depth_(0), max_depth_(0)
128 static_cast<unsigned_statistics::unsigned_fun
>(&ec_statistics::states);
129 stats[
"transitions"] =
130 static_cast<unsigned_statistics::unsigned_fun
>
131 (&ec_statistics::transitions);
132 stats[
"max. depth"] =
133 static_cast<unsigned_statistics::unsigned_fun
>
134 (&ec_statistics::max_depth);
138 set_states(
unsigned n)
156 inc_depth(
unsigned n = 1)
159 if (depth_ > max_depth_)
164 dec_depth(
unsigned n = 1)
196 unsigned transitions_;
210 : prefix_states_(0), cycle_states_(0)
212 stats[
"(non unique) states for prefix"] =
213 static_cast<unsigned_statistics::unsigned_fun
>
214 (&ars_statistics::ars_prefix_states);
215 stats[
"(non unique) states for cycle"] =
216 static_cast<unsigned_statistics::unsigned_fun
>
217 (&ars_statistics::ars_cycle_states);
221 inc_ars_prefix_states()
227 ars_prefix_states()
const
229 return prefix_states_;
233 inc_ars_cycle_states()
239 ars_cycle_states()
const
241 return cycle_states_;
245 unsigned prefix_states_;
246 unsigned cycle_states_;
259 stats[
"search space states"] =
260 static_cast<unsigned_statistics::unsigned_fun
>
277 #endif // SPOT_TGBAALGOS_EMPTINESS_STATS_HH