mirror of
https://github.com/Z3Prover/z3
synced 2025-06-17 19:36:17 +00:00
FPA probe bugfixes
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
parent
efd0cdc740
commit
b968eb2b8c
1 changed files with 6 additions and 10 deletions
|
@ -42,7 +42,7 @@ struct is_non_qffpa_predicate {
|
||||||
ast_manager & m;
|
ast_manager & m;
|
||||||
float_util u;
|
float_util u;
|
||||||
|
|
||||||
is_non_qffpa_predicate(ast_manager & _m) :m(_m), u(m) {}
|
is_non_qffpa_predicate(ast_manager & _m) : m(_m), u(m) {}
|
||||||
|
|
||||||
void operator()(var *) { throw found(); }
|
void operator()(var *) { throw found(); }
|
||||||
|
|
||||||
|
@ -50,11 +50,9 @@ struct is_non_qffpa_predicate {
|
||||||
|
|
||||||
void operator()(app * n) {
|
void operator()(app * n) {
|
||||||
sort * s = get_sort(n);
|
sort * s = get_sort(n);
|
||||||
if (!m.is_bool(s) && !(u.is_float(s) || u.is_rm(s)))
|
if (!m.is_bool(s) && !u.is_float(s) && !u.is_rm(s))
|
||||||
throw found();
|
throw found();
|
||||||
if (is_uninterp(n) && n->get_num_args() != 0)
|
family_id fid = n->get_family_id();
|
||||||
throw found();
|
|
||||||
family_id fid = s->get_family_id();
|
|
||||||
if (fid == m.get_basic_family_id())
|
if (fid == m.get_basic_family_id())
|
||||||
return;
|
return;
|
||||||
if (fid == u.get_family_id())
|
if (fid == u.get_family_id())
|
||||||
|
@ -70,7 +68,7 @@ struct is_non_qffpabv_predicate {
|
||||||
bv_util bu;
|
bv_util bu;
|
||||||
float_util fu;
|
float_util fu;
|
||||||
|
|
||||||
is_non_qffpabv_predicate(ast_manager & _m) :m(_m), bu(m), fu(m) {}
|
is_non_qffpabv_predicate(ast_manager & _m) : m(_m), bu(m), fu(m) {}
|
||||||
|
|
||||||
void operator()(var *) { throw found(); }
|
void operator()(var *) { throw found(); }
|
||||||
|
|
||||||
|
@ -78,11 +76,9 @@ struct is_non_qffpabv_predicate {
|
||||||
|
|
||||||
void operator()(app * n) {
|
void operator()(app * n) {
|
||||||
sort * s = get_sort(n);
|
sort * s = get_sort(n);
|
||||||
if (!m.is_bool(s) && !(fu.is_float(s) || fu.is_rm(s) || bu.is_bv_sort(s)))
|
if (!m.is_bool(s) && !fu.is_float(s) && !fu.is_rm(s) && !bu.is_bv_sort(s))
|
||||||
throw found();
|
throw found();
|
||||||
if (is_uninterp(n) && n->get_num_args() != 0)
|
family_id fid = n->get_family_id();
|
||||||
throw found();
|
|
||||||
family_id fid = s->get_family_id();
|
|
||||||
if (fid == m.get_basic_family_id())
|
if (fid == m.get_basic_family_id())
|
||||||
return;
|
return;
|
||||||
if (fid == fu.get_family_id() || fid == bu.get_family_id())
|
if (fid == fu.get_family_id() || fid == bu.get_family_id())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue