mirror of
https://github.com/Z3Prover/z3
synced 2025-06-23 22:33:40 +00:00
cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
431bb36cf5
commit
80467f1400
1 changed files with 10 additions and 8 deletions
|
@ -227,12 +227,14 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
void create_root(unsigned row_index) {
|
void create_root(unsigned row_index) {
|
||||||
|
signed_index x, y;
|
||||||
|
mpq offset;
|
||||||
|
if (!is_offset_row_tree(row_index, x, y, offset))
|
||||||
|
return;
|
||||||
|
TRACE("cheap_eq", display_row_info(row_index, tout););
|
||||||
NOT_IMPLEMENTED_YET();
|
NOT_IMPLEMENTED_YET();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// returns the vertex to start exploration from
|
// returns the vertex to start exploration from
|
||||||
vertex* add_child_from_row(unsigned row_index, vertex* parent) {
|
vertex* add_child_from_row(unsigned row_index, vertex* parent) {
|
||||||
NOT_IMPLEMENTED_YET();
|
NOT_IMPLEMENTED_YET();
|
||||||
|
@ -292,6 +294,7 @@ public:
|
||||||
m_visited_rows.reset();
|
m_visited_rows.reset();
|
||||||
m_visited_columns.reset();
|
m_visited_columns.reset();
|
||||||
m_offset_to_verts.reset();
|
m_offset_to_verts.reset();
|
||||||
|
m_root = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we have v_i and v_j, indices of vertices at the same offsets
|
// we have v_i and v_j, indices of vertices at the same offsets
|
||||||
|
@ -533,9 +536,8 @@ public:
|
||||||
|
|
||||||
void cheap_eq_tree(unsigned row_index) {
|
void cheap_eq_tree(unsigned row_index) {
|
||||||
TRACE("cheap_eq", tout << "row_index = " << row_index << "\n";);
|
TRACE("cheap_eq", tout << "row_index = " << row_index << "\n";);
|
||||||
if (m_visited_rows.contains(row_index))
|
if (!check_insert(m_visited_rows, row_index))
|
||||||
return; // already explored
|
return; // already explored
|
||||||
m_visited_rows.insert(row_index); // this row does not produce eqs
|
|
||||||
create_root(row_index);
|
create_root(row_index);
|
||||||
if (m_root == nullptr) {
|
if (m_root == nullptr) {
|
||||||
return;
|
return;
|
||||||
|
@ -634,8 +636,8 @@ public:
|
||||||
} else if (y.m_index == UINT_MAX) {
|
} else if (y.m_index == UINT_MAX) {
|
||||||
if (!set_sign_and_index(c.coeff(), y, k))
|
if (!set_sign_and_index(c.coeff(), y, k))
|
||||||
return false;
|
return false;
|
||||||
}
|
} else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x.not_set() && y.not_set())
|
if (x.not_set() && y.not_set())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue