3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 18:31:49 +00:00

fix init for nex_grobner()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-12-29 14:02:40 -08:00
parent c6e5d434b2
commit e8f29b3144
3 changed files with 7 additions and 4 deletions

View file

@ -1576,8 +1576,8 @@ void core::display_matrix_of_m_rows(std::ostream & out) const {
}
}
void core::init_nex_grobner(nex_creator & nc) {
TRACE("grobner", tout << "m_rows.size() = " << m_rows.size() << "\n";);
void core::init_nex_grobner(nex_creator & nc) {
m_nex_grobner.init();
set_active_vars_weights(nc);
for (unsigned i : m_rows) {
m_nex_grobner.add_row(m_lar_solver.A_r().m_rows[i]);

View file

@ -36,7 +36,6 @@ grobner::grobner(core *c, intervals *s)
void grobner::grobner_lemmas() {
c().lp_settings().stats().m_grobner_calls++;
m_gc.reset();
m_reported = 0;
TRACE("grobner", tout << "before:\n"; display(tout););
m_gc.compute_basis_loop();
@ -87,6 +86,10 @@ Each step proceeds as follows:
- simplify A using a
*/
void grobner::init() {
m_gc.reset();
}
bool grobner_core::compute_basis_loop() {
while (!done()) {
if (compute_basis_step()) {

View file

@ -212,13 +212,13 @@ public:
private:
void prepare_rows_and_active_vars();
void add_var_and_its_factors_to_q_and_collect_new_rows(lpvar j, svector<lpvar>& q);
void init();
std::unordered_set<lpvar> get_vars_of_expr_with_opening_terms(const nex* e);
void display_matrix(std::ostream & out) const;
std::ostream& display(std::ostream& out) const { return m_gc.display(out); }
public:
void add_row(const vector<lp::row_cell<rational>> & row);
void check_eq(grobner_core::equation*);
void init();
nex_creator& get_nex_creator() { return m_nex_creator; }
}; // end of grobner
}