mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
use intervals for tracking bounds on arithmetic variables
leverage interval propagation for bounds. merge functionality with propagate-ineqs tactic remove the new propagate-bounds tactic and instead use propagate-ineqs
This commit is contained in:
parent
eb751bec4c
commit
d9f9cceea4
7 changed files with 444 additions and 764 deletions
|
@ -172,6 +172,7 @@ public:
|
|||
void set_upper_is_inf(interval& a, bool inf) const { m_config.set_upper_is_inf(a, inf); }
|
||||
void set_lower_dep(interval& a, u_dependency* d) const { m_config.set_lower_dep(a, d); }
|
||||
void set_upper_dep(interval& a, u_dependency* d) const { m_config.set_upper_dep(a, d); }
|
||||
void reset(interval& a) const { set_lower_is_inf(a, true); set_upper_is_inf(a, true); }
|
||||
void set_value(interval& a, rational const& n) const {
|
||||
set_lower(a, n);
|
||||
set_upper(a, n);
|
||||
|
@ -331,6 +332,7 @@ public:
|
|||
}
|
||||
mpq const& lower(interval const& a) const { return m_config.lower(a); }
|
||||
mpq const& upper(interval const& a) const { return m_config.upper(a); }
|
||||
|
||||
bool is_empty(interval const& a) const;
|
||||
void set_interval_for_scalar(interval&, const rational&);
|
||||
template <typename T>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue