mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 19:02:02 +00:00
Merge branch 'cade24' into unstable
This commit is contained in:
commit
a3eb6d121f
1 changed files with 39 additions and 31 deletions
|
@ -4236,7 +4236,14 @@ namespace realclosure {
|
||||||
bool refine_algebraic_interval(algebraic * a, unsigned prec) {
|
bool refine_algebraic_interval(algebraic * a, unsigned prec) {
|
||||||
save_interval_if_too_small(a, prec);
|
save_interval_if_too_small(a, prec);
|
||||||
if (a->sdt() != 0) {
|
if (a->sdt() != 0) {
|
||||||
// we can't bisect the interval, since it contains more than one root.
|
// We don't bisect the interval, since it contains more than one root.
|
||||||
|
// To bisect this kind of interval we would have to use Tarski queries.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mpbqi & a_i = a->interval();
|
||||||
|
if (a_i.lower_is_inf() || a_i.upper_is_inf()) {
|
||||||
|
// we can't bisect the infinite intervals
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -4277,6 +4284,7 @@ namespace realclosure {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool refine_algebraic_interval(rational_function_value * v, unsigned prec) {
|
bool refine_algebraic_interval(rational_function_value * v, unsigned prec) {
|
||||||
SASSERT(v->ext()->is_algebraic());
|
SASSERT(v->ext()->is_algebraic());
|
||||||
|
@ -5797,7 +5805,7 @@ namespace realclosure {
|
||||||
|
|
||||||
struct display_free_var_proc {
|
struct display_free_var_proc {
|
||||||
void operator()(std::ostream & out, bool compact) const {
|
void operator()(std::ostream & out, bool compact) const {
|
||||||
out << "#";
|
out << "x";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue