3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

toward fetching existing terms intervals from lar_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-08-05 12:04:27 -07:00
parent 3c5b1086a1
commit dfe0e85629
7 changed files with 199 additions and 42 deletions

View file

@ -39,7 +39,7 @@ public:
}
}
void add_var(unsigned j) {
void add_var(lpvar j) {
rational c(1);
add_monomial(c, j);
}
@ -65,8 +65,8 @@ public:
// some terms get used in add constraint
// it is the same as the offset in the m_constraints
vector<std::pair<mpq, unsigned>> coeffs_as_vector() const {
vector<std::pair<mpq, unsigned>> ret;
vector<std::pair<mpq, lpvar>> coeffs_as_vector() const {
vector<std::pair<mpq, lpvar>> ret;
for (const auto & p : m_coeffs) {
ret.push_back(std::make_pair(p.m_value, p.m_key));
}
@ -93,7 +93,7 @@ public:
m_coeffs.insert(k, b);
}
bool contains(unsigned j) const {
bool contains(lpvar j) const {
return m_coeffs.contains(j);
}
@ -116,11 +116,11 @@ public:
}
struct ival {
unsigned m_var;
lpvar m_var;
const mpq & m_coeff;
ival(unsigned var, const mpq & val) : m_var(var), m_coeff(val) {
ival(lpvar var, const mpq & val) : m_var(var), m_coeff(val) {
}
unsigned var() const { return m_var;}
lpvar var() const { return m_var;}
const mpq & coeff() const { return m_coeff; }
};