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:
parent
7823117776
commit
000e485794
25 changed files with 706 additions and 572 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue