3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

add array selects to basic ackerman reduction improves performance significantly for #2525 as it now uses the SAT solver core instead of SMT core

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-09-01 12:17:10 -07:00
parent 7823117776
commit 000e485794
25 changed files with 706 additions and 572 deletions

View file

@ -401,7 +401,7 @@ expr* func_interp::get_array_interp_core(func_decl * f) const {
args.push_back(curr->get_arg(i));
}
args.push_back(res);
r = autil.mk_store(args.size(), args.c_ptr());
r = autil.mk_store(args);
}
return r;
}

View file

@ -269,7 +269,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
expr_ref_vector args(m);
args.push_back(val);
args.append(stores[i].size(), stores[i].c_ptr());
val = m_ar.mk_store(args.size(), args.c_ptr());
val = m_ar.mk_store(args);
}
}
}

View file

@ -897,7 +897,7 @@ expr_ref model_implicant::eval(model_ref& model, expr* e) {
args.resize(1);
args[0] = result;
args.append(stores[i]);
result = m_array.mk_store(args.size(), args.c_ptr());
result = m_array.mk_store(args);
}
return result;
}