3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

randomize m_to_refine() init

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-06-17 20:47:33 -07:00
parent 73e63e1ad9
commit 5d5d4a2264
2 changed files with 5 additions and 1 deletions

View file

@ -95,6 +95,7 @@ class emonomials {
hashtable<lpvar, hash_canonical, eq_canonical> m_cg_table; // congruence (canonical) table.
unsigned number_of_monomials() const { return m_monomials.size(); }
void inc_visited() const;
void remove_cell(head_tail& v, unsigned mIndex);

View file

@ -965,9 +965,12 @@ void core::init_search() {
void core::init_to_refine() {
TRACE("nla_solver", tout << "emons:" << pp_emons(*this, m_emons););
m_to_refine.clear();
for (auto const & m : m_emons)
unsigned r = random(), sz = m_emons.number_of_monomials();
for (unsigned k = 0; k < sz; k++) {
auto const & m = m_emons[(k + r)% sz];
if (!check_monomial(m))
m_to_refine.push_back(m.var());
}
TRACE("nla_solver",
tout << m_to_refine.size() << " mons to refine:\n";