mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
cleanup cancelation logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
4e155887b2
commit
61dbb6168e
37 changed files with 93 additions and 198 deletions
|
@ -92,6 +92,7 @@ namespace simplex {
|
|||
};
|
||||
|
||||
static const var_t null_var;
|
||||
reslimit& m_limit;
|
||||
mutable manager m;
|
||||
mutable eps_manager em;
|
||||
mutable matrix M;
|
||||
|
@ -109,10 +110,10 @@ namespace simplex {
|
|||
stats m_stats;
|
||||
|
||||
public:
|
||||
simplex():
|
||||
simplex(reslimit& lim):
|
||||
m_limit(lim),
|
||||
M(m),
|
||||
m_max_iterations(UINT_MAX),
|
||||
m_cancel(false),
|
||||
m_to_patch(1024),
|
||||
m_bland(false),
|
||||
m_blands_rule_threshold(1000) {}
|
||||
|
@ -140,7 +141,6 @@ namespace simplex {
|
|||
void unset_lower(var_t var);
|
||||
void unset_upper(var_t var);
|
||||
void set_value(var_t var, eps_numeral const& b);
|
||||
void set_cancel(bool f) { m_cancel = f; }
|
||||
void set_max_iterations(unsigned n) { m_max_iterations = n; }
|
||||
void reset();
|
||||
lbool make_feasible();
|
||||
|
|
|
@ -332,7 +332,7 @@ namespace simplex {
|
|||
SASSERT(well_formed());
|
||||
while ((v = select_var_to_fix()) != null_var) {
|
||||
TRACE("simplex", display(tout << "v" << v << "\n"););
|
||||
if (m_cancel || num_iterations > m_max_iterations) {
|
||||
if (!m_limit.inc() || num_iterations > m_max_iterations) {
|
||||
return l_undef;
|
||||
}
|
||||
check_blands_rule(v, num_repeated);
|
||||
|
@ -670,7 +670,7 @@ namespace simplex {
|
|||
bool inc_x_i, inc_x_j;
|
||||
|
||||
while (true) {
|
||||
if (m_cancel) {
|
||||
if (!m_limit.inc()) {
|
||||
return l_undef;
|
||||
}
|
||||
select_pivot_primal(v, x_i, x_j, a_ij, inc_x_i, inc_x_j);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue