mirror of
https://github.com/Z3Prover/z3
synced 2025-08-24 03:57:51 +00:00
make_asserting for unit coefficients
This commit is contained in:
parent
9766ad00b1
commit
c3e7bd34d0
4 changed files with 90 additions and 0 deletions
|
@ -115,6 +115,27 @@ namespace polysat {
|
|||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
eval_interval intersect(eval_interval const& other) const {
|
||||
if (is_full()) return other;
|
||||
if (other.is_full()) return *this;
|
||||
|
||||
pdd i_lo = lo();
|
||||
rational i_lo_val = lo_val();
|
||||
if (lo_val() < other.lo_val()) {
|
||||
i_lo = other.lo();
|
||||
i_lo_val = other.lo_val();
|
||||
}
|
||||
|
||||
pdd i_hi = hi();
|
||||
rational i_hi_val = hi_val();
|
||||
if (hi_val() > other.hi_val()) {
|
||||
i_hi = other.hi();
|
||||
i_hi_val = other.hi_val();
|
||||
}
|
||||
|
||||
return eval_interval::proper(i_lo, i_lo_val, i_hi, i_hi_val);
|
||||
}
|
||||
};
|
||||
|
||||
inline std::ostream& operator<<(std::ostream& os, eval_interval const& i) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue