3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-26 22:17:54 +00:00

update test

This commit is contained in:
Jakob Rath 2023-12-07 15:41:22 +01:00
parent ceb6798afa
commit e189b408bb

View file

@ -158,36 +158,24 @@ namespace polysat {
rational const two_to_60 = rational::power_of_two(60); rational const two_to_60 = rational::power_of_two(60);
params_ref p; params_ref p;
p.set_uint("max_decisions", 1); p.set_uint("max_decisions", 5);
s.updt_polysat_params(p); s.updt_polysat_params(p);
// s.push();
// x >= 5000 // x >= 5000
s.add_ule(5000, x); s.add_ule(5000, x);
VERIFY_EQ(s.check_sat(), l_undef); VERIFY_EQ(s.check_sat(), l_true);
rational lo, hi;
VERIFY_EQ(v.find_viable2_new(xv, lo, hi), l_true);
std::cout << "lo: " << lo << "\n";
std::cout << "hi: " << hi << "\n";
p.set_uint("max_decisions", 2); // s.pop();
s.updt_polysat_params(p);
// x[3:0] >= 10 // x[3:0] >= 10
s.add_ule(10 * two_to_60, x * two_to_60); s.add_ule(10 * two_to_60, x * two_to_60);
VERIFY_EQ(s.check_sat(), l_undef); VERIFY_EQ(s.check_sat(), l_true);
VERIFY_EQ(v.find_viable2_new(xv, lo, hi), l_true);
std::cout << "lo: " << lo << "\n";
std::cout << "hi: " << hi << "\n";
p.set_uint("max_decisions", 3);
s.updt_polysat_params(p);
// x[3:0] <= 5 // x[3:0] <= 5
s.add_ule(x * two_to_60, 5 * two_to_60); s.add_ule(x * two_to_60, 5 * two_to_60);
VERIFY_EQ(s.check_sat(), l_undef); VERIFY_EQ(s.check_sat(), l_false);
VERIFY_EQ(v.find_viable2_new(xv, lo, hi), l_false);
std::cout << "lo: " << lo << "\n";
std::cout << "hi: " << hi << "\n";
} }
static void test_univariate() { static void test_univariate() {
@ -610,6 +598,7 @@ void tst_viable() {
polysat::test_fi::exhaustive(); polysat::test_fi::exhaustive();
polysat::test_fi::randomized(10000, 16); polysat::test_fi::randomized(10000, 16);
polysat::test_fi::randomized(1000, 256); polysat::test_fi::randomized(1000, 256);
polysat::test_fixed();
#if 0 #if 0
// TODO: case where refine-equal-lin is still looping: // TODO: case where refine-equal-lin is still looping:
polysat::test_fi::check_one( polysat::test_fi::check_one(