mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 03:32:28 +00:00 
			
		
		
		
	add note about a bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									0eaf5a8510
								
							
						
					
					
						commit
						6df23fbce3
					
				
					 5 changed files with 34 additions and 9 deletions
				
			
		|  | @ -321,4 +321,13 @@ namespace bv { | |||
|         VERIFY(m_polysat.try_eval(p, val)); | ||||
|         values[n->get_root_id()] = bv.mk_numeral(val, get_bv_size(n));         | ||||
|     }    | ||||
| 
 | ||||
|     void solver::polysat_display(std::ostream& out) const { | ||||
|         if (!use_polysat()) | ||||
|             return; | ||||
|         m_polysat.display(out); | ||||
|         for (unsigned v = 0; v < get_num_vars(); ++v)  | ||||
|             if (m_var2pdd_valid.get(v, false)) | ||||
|                 out << ctx.bpp(var2enode(v)) << " := " << m_var2pdd[v] << "\n";         | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -622,8 +622,7 @@ namespace bv { | |||
|         out << "bv-solver:\n"; | ||||
|         for (unsigned v = 0; v < num_vars; v++) | ||||
|             out << pp(v); | ||||
|         if (use_polysat()) | ||||
|             m_polysat.display(out); | ||||
|         polysat_display(out); | ||||
|         return out; | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -280,9 +280,9 @@ namespace bv { | |||
|         void polysat_neg(app* a); | ||||
|         void polysat_num(app* a); | ||||
|         void polysat_mkbv(app* a); | ||||
|         void solver::polysat_umul_noovfl(app* e); | ||||
|         void solver::polysat_div_rem_i(app* e, bool is_div); | ||||
|         void solver::polysat_div_rem(app* e, bool is_div); | ||||
|         void polysat_umul_noovfl(app* e); | ||||
|         void polysat_div_rem_i(app* e, bool is_div); | ||||
|         void polysat_div_rem(app* e, bool is_div); | ||||
|         void polysat_bit2bool(atom* a, expr* e, unsigned idx); | ||||
|         bool polysat_sort_cnstr(euf::enode* n); | ||||
|         void polysat_assign(atom* a); | ||||
|  | @ -292,6 +292,7 @@ namespace bv { | |||
|         bool polysat_diseq_eh(euf::th_eq const& ne); | ||||
|         void polysat_add_value(euf::enode* n, model& mdl, expr_ref_vector& values); | ||||
|         lbool polysat_final(); | ||||
|         void polysat_display(std::ostream& out) const; | ||||
|         bool use_polysat() const { return get_config().m_bv_polysat; } | ||||
|         vector<polysat::pdd> m_var2pdd; | ||||
|         bool_vector          m_var2pdd_valid; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue