mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 19:52:29 +00:00 
			
		
		
		
	try exponential delay in grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
		
							parent
							
								
									ba03d35957
								
							
						
					
					
						commit
						a15b21bc62
					
				
					 2 changed files with 16 additions and 3 deletions
				
			
		|  | @ -47,9 +47,22 @@ namespace nla { | |||
|         if (m_quota == 0) | ||||
|             m_quota = c().params().arith_nl_gr_q();                     | ||||
| 
 | ||||
|         bool const use_exp_delay = c().params().arith_nl_grobner_exp_delay(); | ||||
| 
 | ||||
|         if (m_quota == 1) { | ||||
|             m_delay_base++; | ||||
|             m_delay = m_delay_base; | ||||
|             if (use_exp_delay) { | ||||
|                 constexpr unsigned delay_cap = 1000000; | ||||
|                 if (m_delay_base == 0) | ||||
|                     m_delay_base = 1; | ||||
|                 else if (m_delay_base < delay_cap) { | ||||
|                     m_delay_base *= 2; | ||||
|                     if (m_delay_base > delay_cap) | ||||
|                         m_delay_base = delay_cap; | ||||
|                 } | ||||
|                 m_delay = m_delay_base; | ||||
|             } | ||||
|             else | ||||
|                 m_delay = ++m_delay_base; | ||||
|             m_quota = c().params().arith_nl_gr_q(); | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue