3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-07 17:47:58 +00:00

fix in substitution of fresh variables, clean column.h

This commit is contained in:
Lev Nachmanson 2024-08-23 07:06:58 -10:00 committed by Lev Nachmanson
parent f5e646cbcb
commit cd13890650
2 changed files with 84 additions and 44 deletions

View file

@ -36,9 +36,6 @@ inline std::ostream& operator<<(std::ostream& out, lconstraint_kind k) {
return out << "??";
}
inline bool compare(const std::pair<mpq, lpvar> & a, const std::pair<mpq, lpvar> & b) {
return a.second < b.second;
}
class lar_term; // forward definition
class column {
u_dependency* m_lower_bound_witness = nullptr;
@ -53,22 +50,9 @@ public:
u_dependency*& upper_bound_witness() { return m_upper_bound_witness; }
u_dependency* upper_bound_witness() const { return m_upper_bound_witness; }
// equality is used by stackedvector operations.
// this appears to be a low level reason
bool operator!=(const column & p) const {
return !(*this == p);
}
bool operator==(const column & p) const {
return m_lower_bound_witness == p.m_lower_bound_witness
&& m_upper_bound_witness == p.m_upper_bound_witness
&& m_associated_with_row == p.m_associated_with_row;
}
column() = delete;
column(bool) = delete;
column(bool associated_with_row, lar_term* term) :
m_associated_with_row(associated_with_row), m_term(term) {}