summaryrefslogtreecommitdiff
path: root/src/smt/smt_engine_stats.cpp
blob: 5147c046a71c95f728d4326477029dede0eacbfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/******************************************************************************
 * Top contributors (to current version):
 *   Tim King, Gereon Kremer, Andrew Reynolds
 *
 * This file is part of the cvc5 project.
 *
 * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
 * in the top-level source directory and their institutional affiliations.
 * All rights reserved.  See the file COPYING in the top-level source
 * directory for licensing information.
 * ****************************************************************************
 *
 * Implementation of statistics for SMT engine.
 */

#include "smt/smt_engine_stats.h"

#include "smt/smt_statistics_registry.h"

namespace cvc5 {
namespace smt {

SmtEngineStatistics::SmtEngineStatistics()
    : d_definitionExpansionTime("smt::SmtEngine::definitionExpansionTime"),
      d_numConstantProps("smt::SmtEngine::numConstantProps", 0),
      d_cnfConversionTime("smt::SmtEngine::cnfConversionTime"),
      d_numAssertionsPre("smt::SmtEngine::numAssertionsPreITERemoval", 0),
      d_numAssertionsPost("smt::SmtEngine::numAssertionsPostITERemoval", 0),
      d_checkModelTime("smt::SmtEngine::checkModelTime"),
      d_checkUnsatCoreTime("smt::SmtEngine::checkUnsatCoreTime"),
      d_solveTime("smt::SmtEngine::solveTime"),
      d_pushPopTime("smt::SmtEngine::pushPopTime"),
      d_processAssertionsTime("smt::SmtEngine::processAssertionsTime"),
      d_simplifiedToFalse("smt::SmtEngine::simplifiedToFalse", 0),
      d_driverFilename("driver::filename", ""),
      d_driverResult("driver::sat/unsat", ""),
      d_driverTotalTime("driver::totalTime", 0.0)
{
  smtStatisticsRegistry()->registerStat(&d_definitionExpansionTime);
  smtStatisticsRegistry()->registerStat(&d_numConstantProps);
  smtStatisticsRegistry()->registerStat(&d_cnfConversionTime);
  smtStatisticsRegistry()->registerStat(&d_numAssertionsPre);
  smtStatisticsRegistry()->registerStat(&d_numAssertionsPost);
  smtStatisticsRegistry()->registerStat(&d_checkModelTime);
  smtStatisticsRegistry()->registerStat(&d_checkUnsatCoreTime);
  smtStatisticsRegistry()->registerStat(&d_solveTime);
  smtStatisticsRegistry()->registerStat(&d_pushPopTime);
  smtStatisticsRegistry()->registerStat(&d_processAssertionsTime);
  smtStatisticsRegistry()->registerStat(&d_simplifiedToFalse);
  smtStatisticsRegistry()->registerStat(&d_driverFilename);
  smtStatisticsRegistry()->registerStat(&d_driverResult);
  smtStatisticsRegistry()->registerStat(&d_driverTotalTime);
}

SmtEngineStatistics::~SmtEngineStatistics()
{
  smtStatisticsRegistry()->unregisterStat(&d_definitionExpansionTime);
  smtStatisticsRegistry()->unregisterStat(&d_numConstantProps);
  smtStatisticsRegistry()->unregisterStat(&d_cnfConversionTime);
  smtStatisticsRegistry()->unregisterStat(&d_numAssertionsPre);
  smtStatisticsRegistry()->unregisterStat(&d_numAssertionsPost);
  smtStatisticsRegistry()->unregisterStat(&d_checkModelTime);
  smtStatisticsRegistry()->unregisterStat(&d_checkUnsatCoreTime);
  smtStatisticsRegistry()->unregisterStat(&d_solveTime);
  smtStatisticsRegistry()->unregisterStat(&d_pushPopTime);
  smtStatisticsRegistry()->unregisterStat(&d_processAssertionsTime);
  smtStatisticsRegistry()->unregisterStat(&d_simplifiedToFalse);
  smtStatisticsRegistry()->unregisterStat(&d_driverFilename);
  smtStatisticsRegistry()->unregisterStat(&d_driverResult);
  smtStatisticsRegistry()->unregisterStat(&d_driverTotalTime);
}

}  // namespace smt
}  // namespace cvc5
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback