3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-22 02:57:50 +00:00
This commit is contained in:
Nikolaj Bjorner 2024-01-02 09:45:13 -08:00
parent c467f093d0
commit 1a742ff784
5 changed files with 26 additions and 17 deletions

View file

@ -337,17 +337,21 @@ namespace polysat {
return true;
}
std::ostream& monomials::monomial::display(std::ostream& out) const {
out << var << " := ";
char const* sep = "";
for (auto p : args)
if (p.is_var())
out << sep << p, sep = " * ";
else
out << sep << "(" << p << ")", sep = " * ";
out << "\n";
return out;
}
std::ostream& monomials::display(std::ostream& out) const {
for (auto const& mon : m_monomials) {
out << mon.var << " := ";
char const* sep = "";
for (auto p : mon.args)
if (p.is_var())
out << sep << p, sep = " * ";
else
out << sep << "(" << p << ")", sep = " * ";
out << "\n";
}
for (auto const& mon : m_monomials)
mon.display(out);
return out;
}
}

View file

@ -36,6 +36,7 @@ namespace polysat {
rational val;
unsigned size() const { return args.size(); }
unsigned num_bits() const { return args[0].manager().power_of_2(); }
std::ostream& display(std::ostream& out) const;
};
vector<monomial> m_monomials;
pdd_vector m_tmp;
@ -74,6 +75,7 @@ namespace polysat {
};
inline std::ostream& operator<<(std::ostream& out, monomials const& m) {
return m.display(out);
}