3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-26 10:28:48 +00:00
Implemented the largest cube heuristic from Bromberger and Weidenbach's
paper on cubes. Also fixes an overflow bug in mzp.
Use vswhere to find the visual studio version on windows in the build's ymls.
---------

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Lev Nachmanson 2026-06-14 16:25:21 -07:00 committed by Nikolaj Bjorner
parent 9e843d2571
commit a99c69d3f1
18 changed files with 620 additions and 24 deletions

View file

@ -1904,8 +1904,11 @@ std::string mpz_manager<SYNCH>::to_string(mpz const & a) const {
template<bool SYNCH>
unsigned mpz_manager<SYNCH>::hash(mpz const & a) {
if (is_small(a))
return ::abs(a.m_val);
if (is_small(a)) {
// compute abs in unsigned arithmetic: ::abs(INT_MIN) is undefined
unsigned u = static_cast<unsigned>(a.m_val);
return a.m_val < 0 ? 0u - u : u;
}
#ifndef _MP_GMP
unsigned sz = size(a);
if (sz == 1)