mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 19:52:29 +00:00 
			
		
		
		
	fix crashes in nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									b28e788371
								
							
						
					
					
						commit
						ab39f06df7
					
				
					 2 changed files with 8 additions and 5 deletions
				
			
		|  | @ -734,8 +734,10 @@ namespace nlsat { | |||
|         void undo_set_updt(interval_set * old_set) { | ||||
|             SASSERT(m_xk != null_var); | ||||
|             var x = m_xk; | ||||
|             m_ism.dec_ref(m_infeasible[x]); | ||||
|             m_infeasible[x] = old_set; | ||||
| 			if (x < m_infeasible.size() && m_infeasible[x]) { | ||||
| 				m_ism.dec_ref(m_infeasible[x]); | ||||
| 				m_infeasible[x] = old_set; | ||||
| 			} | ||||
|         } | ||||
| 
 | ||||
|         void undo_new_stage() { | ||||
|  | @ -757,7 +759,8 @@ namespace nlsat { | |||
| 
 | ||||
|         void undo_updt_eq(atom * a) { | ||||
|             SASSERT(m_xk != null_var); | ||||
|             m_var2eq[m_xk] = a;  | ||||
| 			if (m_var2eq.size() > m_xk) | ||||
|                 m_var2eq[m_xk] = a;  | ||||
|         } | ||||
| 
 | ||||
|         template<typename Predicate> | ||||
|  |  | |||
|  | @ -107,8 +107,8 @@ tactic * mk_qfnia_tactic(ast_manager & m, params_ref const & p) { | |||
|     simp_p.set_bool("som", true); // expand into sums of monomials
 | ||||
| 
 | ||||
|     return and_then(mk_qfnia_premable(m, p), | ||||
|                     or_else(mk_qfnia_sat_solver(m, p), | ||||
|                             mk_qfnia_nlsat_solver(m, p), | ||||
|                     or_else(mk_qfnia_nlsat_solver(m, p), | ||||
|                             mk_qfnia_sat_solver(m, p), | ||||
|                             and_then(using_params(mk_simplify_tactic(m), simp_p), | ||||
|                                      mk_smt_tactic()))); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue