3
0
Fork 0
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:
Lev Nachmanson 2025-10-22 17:00:16 -07:00 committed by Nikolaj Bjorner
parent ba03d35957
commit a15b21bc62
2 changed files with 16 additions and 3 deletions

View file

@ -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();
}