mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 19:02:02 +00:00
comment
This commit is contained in:
parent
c488a766b5
commit
a3767b177c
3 changed files with 6 additions and 3 deletions
|
@ -137,7 +137,6 @@ namespace polysat {
|
||||||
return s.m_viable.intersect(p0, q0, sc);
|
return s.m_viable.intersect(p0, q0, sc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned umul_ovfl_constraint::hash() const {
|
unsigned umul_ovfl_constraint::hash() const {
|
||||||
return mk_mix(p().hash(), q().hash(), kind());
|
return mk_mix(p().hash(), q().hash(), kind());
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ namespace polysat {
|
||||||
m_trail.pop_back();
|
m_trail.pop_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool viable::intersect(pdd const & p, pdd const & q, signed_constraint const& sc) {
|
bool viable::intersect(pdd const& p, pdd const& q, signed_constraint const& sc) {
|
||||||
pvar v = null_var;
|
pvar v = null_var;
|
||||||
bool first = true;
|
bool first = true;
|
||||||
bool prop = false;
|
bool prop = false;
|
||||||
|
|
|
@ -85,7 +85,11 @@ namespace polysat {
|
||||||
*/
|
*/
|
||||||
bool intersect(pvar v, signed_constraint const& c);
|
bool intersect(pvar v, signed_constraint const& c);
|
||||||
|
|
||||||
bool intersect(pdd const & p, pdd const & q, signed_constraint const& c);
|
/**
|
||||||
|
* Extract remaining variable v from p and q and try updating viable state for v.
|
||||||
|
* NOTE: does not require a particular constraint type (e.g., we call this for ule_constraint and umul_ovfl_constraint)
|
||||||
|
*/
|
||||||
|
bool intersect(pdd const& p, pdd const& q, signed_constraint const& c);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check whether variable v has any viable values left according to m_viable.
|
* Check whether variable v has any viable values left according to m_viable.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue