summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-11-03 15:09:12 -0500
committerajreynol <andrew.j.reynolds@gmail.com>2016-11-03 15:09:26 -0500
commitb6d5d0b11cf7624cd7a3e0a2f6f77d83d2f7001a (patch)
treeb0e5acbce9023c28bf1bb85eee5da97b79c94561 /src/theory/quantifiers_engine.cpp
parent8a8455d955c084c9a9f7add1f4e4da6b1dbc35eb (diff)
Add priorities to getNextDecision. Properly handle case for finite types + unbounded heaps in sep logic. Fix another simple memory leak in sygus.
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r--src/theory/quantifiers_engine.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 95b01bc7b..22bfa948f 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -767,14 +767,17 @@ void QuantifiersEngine::propagate( Theory::Effort level ){
}
}
-Node QuantifiersEngine::getNextDecisionRequest(){
+Node QuantifiersEngine::getNextDecisionRequest( unsigned& priority ){
+ unsigned min_priority;
+ Node dec;
for( unsigned i=0; i<d_modules.size(); i++ ){
- Node n = d_modules[i]->getNextDecisionRequest();
- if( !n.isNull() ){
- return n;
+ Node n = d_modules[i]->getNextDecisionRequest( priority );
+ if( !n.isNull() && ( dec.isNull() || priority<min_priority ) ){
+ dec = n;
+ min_priority = priority;
}
}
- return Node::null();
+ return dec;
}
quantifiers::TermDbSygus* QuantifiersEngine::getTermDatabaseSygus() {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback