mirror of
https://github.com/Z3Prover/z3
synced 2025-04-14 21:08:46 +00:00
parent
0ab107dcb5
commit
55f62fcaed
|
@ -95,6 +95,7 @@ namespace smt {
|
||||||
|
|
||||||
context & get_context() { return m_context; }
|
context & get_context() { return m_context; }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Install an event handler that is invoked whenever n is marked as relevant.
|
\brief Install an event handler that is invoked whenever n is marked as relevant.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -741,12 +741,13 @@ namespace smt {
|
||||||
|
|
||||||
app* theory_fpa::get_ite_value(expr* e) {
|
app* theory_fpa::get_ite_value(expr* e) {
|
||||||
ast_manager & m = get_manager();
|
ast_manager & m = get_manager();
|
||||||
|
context& ctx = get_context();
|
||||||
expr* e1, *e2, *e3;
|
expr* e1, *e2, *e3;
|
||||||
while (m.is_ite(e, e1, e2, e3)) {
|
while (m.is_ite(e, e1, e2, e3) && ctx.e_internalized(e)) {
|
||||||
if (get_root(e2) == get_root(e)) {
|
if (ctx.get_enode(e2)->get_root() == ctx.get_enode(e)->get_root()) {
|
||||||
e = e2;
|
e = e2;
|
||||||
}
|
}
|
||||||
else if (get_root(e3) == get_root(e)) {
|
else if (ctx.get_enode(e3)->get_root() == ctx.get_enode(e)->get_root()) {
|
||||||
e = e3;
|
e = e3;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Reference in a new issue