3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00

add log helper to util

This commit is contained in:
Nikolaj Bjorner 2023-12-08 13:25:50 -08:00
parent c41477aadb
commit 6a0f407019
6 changed files with 387 additions and 1 deletions

View file

@ -16,6 +16,7 @@ Author:
#include "sat/smt/polysat_solver.h"
#include "sat/smt/polysat_constraints.h"
#include "sat/smt/polysat_ule.h"
#include "sat/smt/polysat_umul_ovfl.h"
namespace polysat {
@ -29,6 +30,12 @@ namespace polysat {
return is_positive ? sc : ~sc;
}
signed_constraint constraints::umul_ovfl(pdd const& p, pdd const& q) {
auto* c = alloc(umul_ovfl_constraint, p, q);
m_trail.push(new_obj_trail(c));
return signed_constraint(ckind_t::umul_ovfl_t, c);
}
lbool signed_constraint::eval(assignment& a) const {
lbool r = m_constraint->eval(a);
return m_sign ? ~r : r;

View file

@ -85,7 +85,7 @@ namespace polysat {
signed_constraint sle(pdd const& p, pdd const& q) { throw default_exception("nyi"); }
signed_constraint ult(pdd const& p, pdd const& q) { throw default_exception("nyi"); }
signed_constraint slt(pdd const& p, pdd const& q) { throw default_exception("nyi"); }
signed_constraint umul_ovfl(pdd const& p, pdd const& q) { throw default_exception("nyi"); }
signed_constraint umul_ovfl(pdd const& p, pdd const& q);
signed_constraint smul_ovfl(pdd const& p, pdd const& q) { throw default_exception("nyi"); }
signed_constraint smul_udfl(pdd const& p, pdd const& q) { throw default_exception("nyi"); }
signed_constraint bit(pdd const& p, unsigned i) { throw default_exception("nyi"); }