mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	fix init for nex_grobner()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
		
							parent
							
								
									c6e5d434b2
								
							
						
					
					
						commit
						e8f29b3144
					
				
					 3 changed files with 7 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -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]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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()) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue