mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 06:03:23 +00:00
parent
6e47499e26
commit
38176256c4
1 changed files with 6 additions and 5 deletions
|
@ -322,18 +322,19 @@ namespace datalog {
|
||||||
if (!m_ctx.array_blast ()) {
|
if (!m_ctx.array_blast ()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
rule_set* rules = alloc(rule_set, m_ctx);
|
scoped_ptr<rule_set> rules = alloc(rule_set, m_ctx);
|
||||||
rules->inherit_predicates(source);
|
rules->inherit_predicates(source);
|
||||||
rule_set::iterator it = source.begin(), end = source.end();
|
rule_set::iterator it = source.begin(), end = source.end();
|
||||||
bool change = false;
|
bool change = false;
|
||||||
for (; !m_ctx.canceled() && it != end; ++it) {
|
for (rule* r : source) {
|
||||||
change = blast(**it, *rules) || change;
|
if (m_ctx.canceled())
|
||||||
|
return nullptr;
|
||||||
|
change = blast(*r, *rules) || change;
|
||||||
}
|
}
|
||||||
if (!change) {
|
if (!change) {
|
||||||
dealloc(rules);
|
|
||||||
rules = nullptr;
|
rules = nullptr;
|
||||||
}
|
}
|
||||||
return rules;
|
return rules.detach();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue