3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2024-10-11 16:17:54 -07:00
parent 9eb6f97e6b
commit 46252b669c
3 changed files with 13 additions and 6 deletions

View file

@ -52,8 +52,7 @@ namespace sls {
m_plugins.set(p->fid(), p);
}
void context::ensure_plugin(expr* e) {
auto fid = get_fid(e);
void context::ensure_plugin(family_id fid) {
if (m_plugins.get(fid, nullptr))
return;
else if (fid == arith_family_id)
@ -67,9 +66,14 @@ namespace sls {
else if (fid == array_util(m).get_family_id())
register_plugin(alloc(array_plugin, *this));
else
verbose_stream() << "did not find plugin for " << mk_bounded_pp(e, m) << "\n";
// add arrays and bv dynamically too.
verbose_stream() << "did not find plugin for " << fid << "\n";
}
void context::ensure_plugin(expr* e) {
auto fid = get_fid(e);
ensure_plugin(fid);
fid = e->get_sort()->get_family_id();
ensure_plugin(fid);
}

View file

@ -136,6 +136,7 @@ namespace sls {
void repair_literals();
void ensure_plugin(expr* e);
void ensure_plugin(family_id fid);
family_id get_fid(expr* e) const;

View file

@ -24,6 +24,7 @@ Todo:
#include "ast/sls/sls_euf_plugin.h"
#include "ast/ast_ll_pp.h"
#include "ast/ast_pp.h"
#include "params/sls_params.hpp"
namespace sls {
@ -37,7 +38,8 @@ namespace sls {
euf_plugin::~euf_plugin() {}
void euf_plugin::initialize() {
m_incremental = ctx.get_params().get_bool("euf_incremental", m_incremental);
sls_params sp(ctx.get_params());
m_incremental = sp.euf_incremental();
IF_VERBOSE(2, verbose_stream() << "sls.euf: incremental " << m_incremental << "\n");
}