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

merge smon with monomial

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-04-22 16:33:58 -07:00
parent e73296fbe5
commit 53cc8048f7
20 changed files with 312 additions and 633 deletions

View file

@ -13,7 +13,8 @@
namespace nra {
typedef nla::monomial mon_eq;
typedef nla::mon_eq mon_eq;
typedef nla::variable_map_type variable_map_type;
struct solver::imp {
lp::lar_solver& s;
@ -136,7 +137,7 @@ typedef nla::variable_map_type variable_map_type;
void add_monomial_eq(mon_eq const& m) {
polynomial::manager& pm = m_nlsat->pm();
svector<polynomial::var> vars;
for (auto v : m) {
for (auto v : m.vars()) {
vars.push_back(lp2nl(v));
}
polynomial::monomial_ref m1(pm.mk_monomial(vars.size(), vars.c_ptr()), pm);
@ -227,7 +228,7 @@ typedef nla::variable_map_type variable_map_type;
std::ostream& display(std::ostream& out) const {
for (auto m : m_monomials) {
out << "v" << m.var() << " = ";
for (auto v : m) {
for (auto v : m.vars()) {
out << "v" << v << " ";
}
out << "\n";