mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
253c954094
commit
cfd204e5fe
7 changed files with 107 additions and 71 deletions
|
@ -99,10 +99,10 @@ namespace simplex {
|
|||
if (i != j) {
|
||||
_row_entry & t2 = m_entries[j];
|
||||
m.swap(t2.m_coeff, t1.m_coeff);
|
||||
t2.m_var = t1.m_var;
|
||||
t2.m_var = t1.var();
|
||||
t2.m_col_idx = t1.m_col_idx;
|
||||
SASSERT(!t2.is_dead());
|
||||
column & col = cols[t2.m_var];
|
||||
column & col = cols[t2.var()];
|
||||
col.m_entries[t2.m_col_idx].m_row_idx = j;
|
||||
}
|
||||
j++;
|
||||
|
@ -138,8 +138,8 @@ namespace simplex {
|
|||
unsigned idx = 0;
|
||||
for (auto const& e : m_entries) {
|
||||
if (!e.is_dead()) {
|
||||
result_map[e.m_var] = idx;
|
||||
idxs.push_back(e.m_var);
|
||||
result_map[e.var()] = idx;
|
||||
idxs.push_back(e.var());
|
||||
}
|
||||
++idx;
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ namespace simplex {
|
|||
int sparse_matrix<Ext>::_row::get_idx_of(var_t v) const {
|
||||
unsigned idx = 0;
|
||||
for (auto const& e : m_entries) {
|
||||
if (!e.is_dead() && e.m_var == v)
|
||||
if (!e.is_dead() && e.var() == v)
|
||||
return idx;
|
||||
++idx;
|
||||
}
|
||||
|
@ -350,7 +350,7 @@ namespace simplex {
|
|||
else { \
|
||||
/* variable v is in row1 */ \
|
||||
_row_entry & r_entry = r1.m_entries[pos]; \
|
||||
SASSERT(r_entry.m_var == v); \
|
||||
SASSERT(r_entry.var() == v); \
|
||||
_ADD_COEFF_; \
|
||||
if (m.is_zero(r_entry.m_coeff)) { \
|
||||
del_row_entry(r1, pos); \
|
||||
|
@ -386,7 +386,7 @@ namespace simplex {
|
|||
template<typename Ext>
|
||||
void sparse_matrix<Ext>::del_row_entry(_row& r, unsigned pos) {
|
||||
_row_entry & r_entry = r.m_entries[pos];
|
||||
var_t v = r_entry.m_var;
|
||||
var_t v = r_entry.var();
|
||||
int col_idx = r_entry.m_col_idx;
|
||||
r.del_row_entry(pos);
|
||||
column & c = m_columns[v];
|
||||
|
@ -452,12 +452,12 @@ namespace simplex {
|
|||
g.reset();
|
||||
row_iterator it = row_begin(r), end = row_end(r);
|
||||
for (; it != end && !m.is_one(g); ++it) {
|
||||
if (!m.is_int(it->m_coeff)) {
|
||||
if (!m.is_int(it->coeff())) {
|
||||
g = numeral(1);
|
||||
break;
|
||||
}
|
||||
if (m.is_zero(g)) g = it->m_coeff;
|
||||
else m.gcd(g, it->m_coeff, g);
|
||||
else m.gcd(g, it->coeff(), g);
|
||||
}
|
||||
if (m.is_zero(g)) {
|
||||
g = numeral(1);
|
||||
|
@ -498,13 +498,13 @@ namespace simplex {
|
|||
continue;
|
||||
}
|
||||
DEBUG_CODE(
|
||||
SASSERT(!vars.contains(e.m_var));
|
||||
SASSERT(!vars.contains(e.var()));
|
||||
SASSERT(!m.is_zero(e.m_coeff));
|
||||
SASSERT(e.m_var != dead_id);
|
||||
col_entry const& c = m_columns[e.m_var].m_entries[e.m_col_idx];
|
||||
SASSERT(e.var() != dead_id);
|
||||
col_entry const& c = m_columns[e.var()].m_entries[e.m_col_idx];
|
||||
SASSERT((unsigned)c.m_row_id == row_id);
|
||||
SASSERT((unsigned)c.m_row_idx == i););
|
||||
vars.insert(e.m_var);
|
||||
vars.insert(e.var());
|
||||
}
|
||||
int idx = r.m_first_free_idx;
|
||||
while (idx != -1) {
|
||||
|
@ -533,7 +533,7 @@ namespace simplex {
|
|||
DEBUG_CODE(
|
||||
_row const& row = m_rows[c.m_row_id];
|
||||
_row_entry const& r = row.m_entries[c.m_row_idx];
|
||||
SASSERT(r.m_var == v);
|
||||
SASSERT(r.var() == v);
|
||||
SASSERT((unsigned)r.m_col_idx == i););
|
||||
rows.insert(c.m_row_id);
|
||||
}
|
||||
|
@ -571,8 +571,8 @@ namespace simplex {
|
|||
void sparse_matrix<Ext>::display_row(std::ostream& out, row const& r) {
|
||||
row_iterator it = row_begin(r), end = row_end(r);
|
||||
for (; it != end; ++it) {
|
||||
m.display(out, it->m_coeff);
|
||||
out << "*v" << it->m_var << " ";
|
||||
m.display(out, it->coeff());
|
||||
out << "*v" << it->var() << " ";
|
||||
}
|
||||
out << "\n";
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue