3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-19 20:30:50 +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
parent 2bf1cc7d61
commit 58e64ea826
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();
}