diff options
author | Liana Hadarean <lianahady@gmail.com> | 2012-05-15 22:02:47 +0000 |
---|---|---|
committer | Liana Hadarean <lianahady@gmail.com> | 2012-05-15 22:02:47 +0000 |
commit | 03930f2a6fdfb85ecc81594ec65f41d7c1284577 (patch) | |
tree | 21e28a976bd9df30da8e2d312598d7d353079d3c | |
parent | e6d3934c41e510d7bbe69ffdcb91f2c9db789ff2 (diff) |
fixed QF_BV performance problem due to using CDList instead of CDQueue
-rw-r--r-- | src/theory/bv/theory_bv.cpp | 7 | ||||
-rw-r--r-- | src/theory/bv/theory_bv.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/theory/bv/theory_bv.cpp b/src/theory/bv/theory_bv.cpp index d005e9473..445b2d242 100644 --- a/src/theory/bv/theory_bv.cpp +++ b/src/theory/bv/theory_bv.cpp @@ -205,9 +205,10 @@ void TheoryBV::check(Effort e) // bit-blasting atoms on queue - for (unsigned i = 0; i < d_bitblastQueue.size(); ++i) { - d_bitblaster->bbAtom(d_bitblastQueue[i]); - // would be nice to clear the bitblastQueue? + while (!d_bitblastQueue.empty()) { + TNode node = d_bitblastQueue.front(); + d_bitblaster->bbAtom(node); + d_bitblastQueue.pop(); } // bit-blaster propagation diff --git a/src/theory/bv/theory_bv.h b/src/theory/bv/theory_bv.h index 6ef9d18dd..9ab5f8e1c 100644 --- a/src/theory/bv/theory_bv.h +++ b/src/theory/bv/theory_bv.h @@ -56,7 +56,7 @@ private: /** Bitblaster */ Bitblaster* d_bitblaster; - context::CDList<TNode> d_bitblastQueue; + context::CDQueue<TNode> d_bitblastQueue; /** Context dependent set of atoms we already propagated */ context::CDHashSet<TNode, TNodeHashFunction> d_alreadyPropagatedSet; |