mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
Merge branch 'opt' of https://git01.codeplex.com/z3 into opt
This commit is contained in:
commit
caa35f6270
93 changed files with 1097 additions and 542 deletions
|
@ -124,7 +124,7 @@ public:
|
|||
virtual void set_cancel(bool f) {
|
||||
m_goal2sat.set_cancel(f);
|
||||
m_solver.set_cancel(f);
|
||||
m_preprocess->set_cancel(f);
|
||||
if (f) m_preprocess->cancel(); else m_preprocess->reset_cancel();
|
||||
}
|
||||
virtual void push() {
|
||||
m_solver.user_push();
|
||||
|
|
|
@ -299,6 +299,7 @@ namespace opt {
|
|||
|
||||
void maxsmt::set_cancel(bool f) {
|
||||
m_cancel = f;
|
||||
|
||||
if (m_msolver) {
|
||||
m_msolver->set_cancel(f);
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ namespace opt {
|
|||
virtual rational get_lower() const { return m_lower; }
|
||||
virtual rational get_upper() const { return m_upper; }
|
||||
virtual bool get_assignment(unsigned index) const { return m_assignment[index]; }
|
||||
virtual void set_cancel(bool f) { m_cancel = f; s().set_cancel(f); }
|
||||
virtual void set_cancel(bool f) { m_cancel = f; if (f) s().cancel(); else s().reset_cancel(); }
|
||||
virtual void collect_statistics(statistics& st) const { }
|
||||
virtual void get_model(model_ref& mdl) { mdl = m_model.get(); }
|
||||
void set_model() { s().get_model(m_model); }
|
||||
|
|
|
@ -1011,13 +1011,13 @@ namespace opt {
|
|||
#pragma omp critical (opt_context)
|
||||
{
|
||||
if (m_solver) {
|
||||
m_solver->set_cancel(f);
|
||||
if (f) m_solver->cancel(); else m_solver->reset_cancel();
|
||||
}
|
||||
if (m_pareto) {
|
||||
m_pareto->set_cancel(f);
|
||||
}
|
||||
if (m_simplify) {
|
||||
m_simplify->set_cancel(f);
|
||||
if (f) m_simplify->cancel(); else m_solver->reset_cancel();
|
||||
}
|
||||
map_t::iterator it = m_maxsmts.begin(), end = m_maxsmts.end();
|
||||
for (; it != end; ++it) {
|
||||
|
|
|
@ -64,7 +64,10 @@ namespace opt {
|
|||
m_solver->collect_statistics(st);
|
||||
}
|
||||
virtual void set_cancel(bool f) {
|
||||
m_solver->set_cancel(f);
|
||||
if (f)
|
||||
m_solver->cancel();
|
||||
else
|
||||
m_solver->reset_cancel();
|
||||
m_cancel = f;
|
||||
}
|
||||
virtual void display(std::ostream & out) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue