diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-04-09 19:19:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-09 19:19:40 -0500 |
commit | 92ed7681941b3b6d9c857724454860ac72d778d9 (patch) | |
tree | 200455fb3d8046e9dc0e9c6ae8383e2b3a904bcc /src/prop/cnf_stream.cpp | |
parent | 789f5b3c8c224deb48fe547303147e0d15e690ae (diff) |
Towards proper use of resource managers (#4233)
Resource manager will be owned by SmtEngine in the future. This passes the resource manager cached by SmtEnginePrivate to the PropEngine created by SmtEngine instead of using the global pointer. It also makes a few preprocessing passes use the resource manager they already have access to and should use.
Diffstat (limited to 'src/prop/cnf_stream.cpp')
-rw-r--r-- | src/prop/cnf_stream.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/prop/cnf_stream.cpp b/src/prop/cnf_stream.cpp index aa5bb92d9..73ae5c790 100644 --- a/src/prop/cnf_stream.cpp +++ b/src/prop/cnf_stream.cpp @@ -57,10 +57,14 @@ CnfStream::CnfStream(SatSolver* satSolver, Registrar* registrar, d_removable(false) { } -TseitinCnfStream::TseitinCnfStream(SatSolver* satSolver, Registrar* registrar, +TseitinCnfStream::TseitinCnfStream(SatSolver* satSolver, + Registrar* registrar, context::Context* context, - bool fullLitToNodeMap, std::string name) - : CnfStream(satSolver, registrar, context, fullLitToNodeMap, name) + ResourceManager* rm, + bool fullLitToNodeMap, + std::string name) + : CnfStream(satSolver, registrar, context, fullLitToNodeMap, name), + d_resourceManager(rm) {} void CnfStream::assertClause(TNode node, SatClause& c) { @@ -722,8 +726,7 @@ void TseitinCnfStream::convertAndAssert(TNode node, bool negated) { << ", negated = " << (negated ? "true" : "false") << ")" << endl; if (d_convertAndAssertCounter % ResourceManager::getFrequencyCount() == 0) { - NodeManager::currentResourceManager()->spendResource( - ResourceManager::Resource::CnfStep); + d_resourceManager->spendResource(ResourceManager::Resource::CnfStep); d_convertAndAssertCounter = 0; } ++d_convertAndAssertCounter; |