namespace strings {
SequencesStatistics::SequencesStatistics()
- : d_inferences("theory::strings::inferences"),
+ : d_checkRuns("theory::strings::checkRuns", 0),
+ d_strategyRuns("theory::strings::strategyRuns", 0),
+ d_inferences("theory::strings::inferences"),
d_cdSimplifications("theory::strings::cdSimplifications"),
d_reductions("theory::strings::reductions"),
d_regexpUnfoldingsPos("theory::strings::regexpUnfoldingsPos"),
0),
d_lemmasInfer("theory::strings::lemmasInfer", 0)
{
+ smtStatisticsRegistry()->registerStat(&d_checkRuns);
+ smtStatisticsRegistry()->registerStat(&d_strategyRuns);
smtStatisticsRegistry()->registerStat(&d_inferences);
smtStatisticsRegistry()->registerStat(&d_cdSimplifications);
smtStatisticsRegistry()->registerStat(&d_reductions);
SequencesStatistics::~SequencesStatistics()
{
+ smtStatisticsRegistry()->unregisterStat(&d_checkRuns);
+ smtStatisticsRegistry()->unregisterStat(&d_strategyRuns);
smtStatisticsRegistry()->unregisterStat(&d_inferences);
smtStatisticsRegistry()->unregisterStat(&d_cdSimplifications);
smtStatisticsRegistry()->unregisterStat(&d_reductions);
public:
SequencesStatistics();
~SequencesStatistics();
+ /** Number of calls to run a check where strategy is present */
+ IntStat d_checkRuns;
+ /** Number of calls to run the strategy */
+ IntStat d_strategyRuns;
//--------------- inferences
/** Counts the number of applications of each type of inference */
HistogramStat<Inference> d_inferences;
}
Trace("strings-eqc") << std::endl;
}
+ ++(d_statistics.d_checkRuns);
unsigned sbegin = itsr->second.first;
unsigned send = itsr->second.second;
bool addedLemma = false;
bool addedFact;
Trace("strings-check") << "Full effort check..." << std::endl;
do{
+ ++(d_statistics.d_strategyRuns);
Trace("strings-check") << " * Run strategy..." << std::endl;
runStrategy(sbegin, send);
// flush the facts