summaryrefslogtreecommitdiff
path: root/src/theory/theory.cpp
diff options
context:
space:
mode:
authorTim King <taking@google.com>2016-01-08 16:44:57 -0800
committerTim King <taking@google.com>2016-01-08 16:44:57 -0800
commitf4ef7af0a2295691f281ee1604dfeb4082fe229c (patch)
tree995e512e5669cec6bbc9447d00ec912d5e4c19e3 /src/theory/theory.cpp
parentdef0a07f9676a292a849d7fc8269ffd0901ce156 (diff)
Removing StatisticsRegistry's static functions current() and registerStat().
- The functionality the get the StatisticsRegistry attached to the SmtEngine was previously through StatisticsRegistry::current(). This is the dominant StatisticsRegistry in the code. (There is another StatisticsRegistry attached to the NodeManager.) Having this be a static function on StatisticsRegistry requires the use of an SmtEngine in the wrong compilation unit. - Usages of StatisticsRegistry::current() that were visible in prop/{bvminisat,minisat} has been removed. A pointer to the relevant StatisticsRegistry should be passed instead into the constructor. - The function StatisticsRegistry::current() has been replaced by SmtScope::currentStatisticsRegistry(). SmtScope is in the libcvc4 package, where SmtEngine is available in the compilation unit. - The function smtStatisticsRegistry() is a synonym for SmtScope::currentStatisticsRegistry() in smt/smt_statistics_registry.h. This header has fewer include dependencies than the one for SmtScope. - Correspondingly, the static functions StatisticsRegistry::{registerStat, unregisterStat} have been removed. One should instead use smtStatisticsRegistry()->{registerStat,unregisterStat} instead. - The KEEP_STATISTIC macro has been moved into smt/smt_statistics_registry.h. - Documents the reason StatisticsRegistry is CVC4_PUBLIC. This lets me remove the warning I added. - Removing most operators for timespec from statistics_registry.h file. These a bit error prone in clang. - Most of the really confusing ifdef's in util/statistics_registry.h are gone.
Diffstat (limited to 'src/theory/theory.cpp')
-rw-r--r--src/theory/theory.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/theory/theory.cpp b/src/theory/theory.cpp
index 05795ca8f..9e946f8d7 100644
--- a/src/theory/theory.cpp
+++ b/src/theory/theory.cpp
@@ -19,6 +19,7 @@
#include <vector>
#include "base/cvc4_assert.h"
+#include "smt/smt_statistics_registry.h"
#include "theory/substitutions.h"
#include "theory/quantifiers_engine.h"
@@ -47,9 +48,33 @@ std::ostream& operator<<(std::ostream& os, Theory::Effort level){
return os;
}/* ostream& operator<<(ostream&, Theory::Effort) */
+Theory::Theory(TheoryId id, context::Context* satContext, context::UserContext* userContext,
+ OutputChannel& out, Valuation valuation, const LogicInfo& logicInfo,
+ SmtGlobals* globals) throw()
+ : d_id(id)
+ , d_satContext(satContext)
+ , d_userContext(userContext)
+ , d_logicInfo(logicInfo)
+ , d_facts(satContext)
+ , d_factsHead(satContext, 0)
+ , d_sharedTermsIndex(satContext, 0)
+ , d_careGraph(NULL)
+ , d_quantEngine(NULL)
+ , d_checkTime(statName(id, "checkTime"))
+ , d_computeCareGraphTime(statName(id, "computeCareGraphTime"))
+ , d_sharedTerms(satContext)
+ , d_out(&out)
+ , d_valuation(valuation)
+ , d_proofEnabled(false)
+ , d_globals(globals)
+{
+ smtStatisticsRegistry()->registerStat(&d_checkTime);
+ smtStatisticsRegistry()->registerStat(&d_computeCareGraphTime);
+}
+
Theory::~Theory() {
- StatisticsRegistry::unregisterStat(&d_checkTime);
- StatisticsRegistry::unregisterStat(&d_computeCareGraphTime);
+ smtStatisticsRegistry()->unregisterStat(&d_checkTime);
+ smtStatisticsRegistry()->unregisterStat(&d_computeCareGraphTime);
}
TheoryId Theory::theoryOf(TheoryOfMode mode, TNode node) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback