mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	sls updates
- add SINGLE_THREAD mode - add interface to retrieve "best" model so far
This commit is contained in:
		
							parent
							
								
									43dd6a5436
								
							
						
					
					
						commit
						2682c2ef2b
					
				
					 5 changed files with 128 additions and 66 deletions
				
			
		| 
						 | 
				
			
			@ -54,10 +54,13 @@ namespace bv {
 | 
			
		|||
        bool                m_engine_model = false;
 | 
			
		||||
        bool                m_engine_init = false;
 | 
			
		||||
        std::function<expr_ref()> m_get_unit;
 | 
			
		||||
        std::function<void(model& mdl)> m_set_model;
 | 
			
		||||
        unsigned            m_min_repair_size = UINT_MAX;
 | 
			
		||||
        
 | 
			
		||||
        std::pair<bool, app*> next_to_repair();
 | 
			
		||||
        
 | 
			
		||||
        void init_repair_goal(app* e);
 | 
			
		||||
        void set_model();
 | 
			
		||||
        void try_repair_down(app* e);
 | 
			
		||||
        void try_repair_up(app* e);
 | 
			
		||||
        void set_repair_down(expr* e) { m_repair_down = e->get_id(); }
 | 
			
		||||
| 
						 | 
				
			
			@ -96,6 +99,11 @@ namespace bv {
 | 
			
		|||
        */
 | 
			
		||||
        void init_unit(std::function<expr_ref()> get_unit) { m_get_unit = get_unit; }
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
        * Add callback to set model
 | 
			
		||||
        */
 | 
			
		||||
        void set_model(std::function<void(model& mdl)> f) { m_set_model = f; }
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
        * Run (bounded) local search to find feasible assignments.
 | 
			
		||||
        */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue