3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 05:30:51 +00:00

outline for monomial bound propagation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-05-13 10:37:46 -07:00
parent 127ef59ce4
commit bda29ca26a
6 changed files with 148 additions and 0 deletions

View file

@ -122,4 +122,25 @@ bool dep_intervals::is_empty(interval const& a) const {
return false;
}
bool dep_intervals::is_above(const interval& i, const rational& r) const {
if (lower_is_inf(i))
return false;
if (m_num_manager.lt(lower(i), r.to_mpq()))
return false;
if (m_num_manager.eq(lower(i), r.to_mpq()) && !m_config.lower_is_open(i))
return false;
return true;
}
bool dep_intervals::is_below(const interval& i, const rational& r) const {
if (upper_is_inf(i))
return false;
if (m_num_manager.lt(upper(i), r.to_mpq()))
return false;
if (m_num_manager.eq(upper(i), r.to_mpq()) && !m_config.upper_is_open(i))
return false;
return true;
}
template class interval_manager<dep_intervals::im_config>;