mirror of
https://github.com/Z3Prover/z3
synced 2025-04-13 12:28:44 +00:00
parent
7e8753cd3f
commit
0fc8ebc8cc
|
@ -2404,8 +2404,8 @@ namespace algebraic_numbers {
|
|||
// all remaining variables are assigned.
|
||||
// the unassigned variable vanished when we replaced the rational values.
|
||||
DEBUG_CODE({
|
||||
for (unsigned i = 0; i < xs.size(); i++) {
|
||||
SASSERT(x2v.contains(xs[i]));
|
||||
for (auto x : xs) {
|
||||
SASSERT(x2v.contains(x));
|
||||
}
|
||||
});
|
||||
return;
|
||||
|
@ -2415,7 +2415,7 @@ namespace algebraic_numbers {
|
|||
polynomial_ref q(ext_pm);
|
||||
q = p_prime;
|
||||
polynomial_ref p_y(ext_pm);
|
||||
for (unsigned i = 0; i < xs.size() - 1; i++) {
|
||||
for (unsigned i = 0; i + 1 < xs.size(); i++) {
|
||||
checkpoint();
|
||||
polynomial::var y = xs[i];
|
||||
SASSERT(x2v.contains(y));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
def_module_params('algebraic',
|
||||
description='real algebraic number package',
|
||||
description='real algebraic number package. Non-default parameter settings are not supported',
|
||||
export=True,
|
||||
params=(('zero_accuracy', UINT, 0, 'one of the most time-consuming operations in the real algebraic number module is determining the sign of a polynomial evaluated at a sample point with non-rational algebraic number values. Let k be the value of this option. If k is 0, Z3 uses precise computation. Otherwise, the result of a polynomial evaluation is considered to be 0 if Z3 can show it is inside the interval (-1/2^k, 1/2^k)'),
|
||||
('min_mag', UINT, 16, 'Z3 represents algebraic numbers using a (square-free) polynomial p and an isolating interval (which contains one and only one root of p). This interval may be refined during the computations. This parameter specifies whether to cache the value of a refined interval or not. It says the minimal size of an interval for caching purposes is 1/2^16'),
|
||||
|
|
Loading…
Reference in a new issue