3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00

fix compiler warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-07-04 15:25:59 -07:00
parent d66db280a8
commit bd92797663
17 changed files with 83 additions and 77 deletions

View file

@ -48,7 +48,7 @@ static void tst1() {
SASSERT(v1.size() == v2.size()); SASSERT(v1.size() == v2.size());
if (v1.size() > 0) { if (v1.size() > 0) {
unsigned idx = rand()%v1.size(); unsigned idx = rand()%v1.size();
SASSERT(v1.get(idx) == v2[idx]); VERIFY(v1.get(idx) == v2[idx]);
} }
} }
else if (op <= 5) { else if (op <= 5) {

View file

@ -133,7 +133,7 @@ public:
params[0] = parameter(2); params[0] = parameter(2);
ar = m_manager.mk_app(m_fid, OP_REPEAT, 1, params, 1, es); ar = m_manager.mk_app(m_fid, OP_REPEAT, 1, params, 1, es);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(((a64 << 32) | a64) == u64(e.get())); VERIFY(((a64 << 32) | a64) == u64(e.get()));
ar = m_manager.mk_app(m_fid, OP_BREDOR, e1.get()); ar = m_manager.mk_app(m_fid, OP_BREDOR, e1.get());
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
@ -163,11 +163,11 @@ public:
ar = m_manager.mk_app(m_fid, OP_BIT0); ar = m_manager.mk_app(m_fid, OP_BIT0);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(!bit2bool(e.get())); VERIFY(!bit2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_BIT1); ar = m_manager.mk_app(m_fid, OP_BIT1);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(bit2bool(e.get())); VERIFY(bit2bool(e.get()));
} }
@ -187,113 +187,113 @@ public:
ar = m_manager.mk_app(m_fid, OP_BADD, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BADD, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a + b) == u32(e.get())); VERIFY((a + b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BSUB, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BSUB, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a - b) == u32(e.get())); VERIFY((a - b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BMUL, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BMUL, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a * b) == u32(e.get())); VERIFY((a * b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BAND, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BAND, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a & b) == u32(e.get())); VERIFY((a & b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BOR, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BOR, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a | b) == u32(e.get())); VERIFY((a | b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BNOR, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BNOR, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(~(a | b) == u32(e.get())); VERIFY(~(a | b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BXOR, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BXOR, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a ^ b) == u32(e.get())); VERIFY((a ^ b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BXNOR, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BXNOR, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((~(a ^ b)) == u32(e.get())); VERIFY((~(a ^ b)) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BNAND, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BNAND, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((~(a & b)) == u32(e.get())); VERIFY((~(a & b)) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_ULEQ, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_ULEQ, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a <= b) == ast2bool(e.get())); VERIFY((a <= b) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_UGEQ, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_UGEQ, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a >= b) == ast2bool(e.get())); VERIFY((a >= b) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_ULT, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_ULT, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a < b) == ast2bool(e.get())); VERIFY((a < b) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_UGT, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_UGT, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a > b) == ast2bool(e.get())); VERIFY((a > b) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_SLEQ, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_SLEQ, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((sa <= sb) == ast2bool(e.get())); VERIFY((sa <= sb) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_SGEQ, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_SGEQ, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((sa >= sb) == ast2bool(e.get())); VERIFY((sa >= sb) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_SLT, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_SLT, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((sa < sb) == ast2bool(e.get())); VERIFY((sa < sb) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_SGT, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_SGT, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((sa > sb) == ast2bool(e.get())); VERIFY((sa > sb) == ast2bool(e.get()));
ar = m_manager.mk_app(m_fid, OP_BSHL, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BSHL, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(((b>=32)?0:(a << b)) == u32(e.get())); VERIFY(((b>=32)?0:(a << b)) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BLSHR, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BLSHR, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(((b>=32)?0:(a >> b)) == u32(e.get())); VERIFY(((b>=32)?0:(a >> b)) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BASHR, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BASHR, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
std::cout << "compare: " << sa << " >> " << b << " = " << (sa >> b) << " with " << i32(e.get()) << "\n"; std::cout << "compare: " << sa << " >> " << b << " = " << (sa >> b) << " with " << i32(e.get()) << "\n";
SASSERT(b >= 32 || ((sa >> b) == i32(e.get()))); VERIFY(b >= 32 || ((sa >> b) == i32(e.get())));
if (b != 0) { if (b != 0) {
ar = m_manager.mk_app(m_fid, OP_BSDIV, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BSDIV, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((sa / sb) == i32(e.get())); VERIFY((sa / sb) == i32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BUDIV, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BUDIV, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a / b) == u32(e.get())); VERIFY((a / b) == u32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BSREM, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BSREM, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
//SASSERT((sa % sb) == i32(e.get())); //VERIFY((sa % sb) == i32(e.get()));
ar = m_manager.mk_app(m_fid, OP_BUREM, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BUREM, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a % b) == u32(e.get())); VERIFY((a % b) == u32(e.get()));
// TBD: BSMOD. // TBD: BSMOD.
} }
ar = m_manager.mk_app(m_fid, OP_CONCAT, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_CONCAT, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT(((a64 << 32) | b64) == u64(e.get())); VERIFY(((a64 << 32) | b64) == u64(e.get()));
ar = m_manager.mk_app(m_fid, OP_BCOMP, 2, e1e2); ar = m_manager.mk_app(m_fid, OP_BCOMP, 2, e1e2);
m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e); m_simp.reduce(ar->get_decl(), ar->get_num_args(), ar->get_args(), e);
SASSERT((a == b) == bit2bool(e.get())); VERIFY((a == b) == bit2bool(e.get()));
} }
void test() { void test() {

View file

@ -38,7 +38,7 @@ void tst_check_assumptions()
expr * npE = np.get(); expr * npE = np.get();
lbool res1 = ctx.check(1, &npE); lbool res1 = ctx.check(1, &npE);
SASSERT(res1==l_true); VERIFY(res1 == l_true);
ctx.assert_expr(npE); ctx.assert_expr(npE);

View file

@ -14,6 +14,35 @@ Copyright (c) 2015 Microsoft Corporation
using namespace datalog; using namespace datalog;
void tst_dl_context() {
symbol relations[] = { symbol("tr_skip"), symbol("tr_sparse"), symbol("tr_hashtable"), symbol("smt_relation2") };
return;
#if 0
const unsigned rel_cnt = sizeof(relations)/sizeof(symbol);
const char * test_file = "c:\\tvm\\src\\benchmarks\\datalog\\t0.datalog";
params_ref params;
for(unsigned rel_index=0; rel_index<rel_cnt; rel_index++) {
params.set_sym("default_relation", relations[rel_index]);
for(int eager_checking=1; eager_checking>=0; eager_checking--) {
params.set_bool("eager_emptiness_checking", eager_checking!=0);
std::cerr << "Testing " << relations[rel_index] << "\n";
std::cerr << "Eager emptiness checking " << (eager_checking!=0 ? "on" : "off") << "\n";
dl_context_simple_query_test(params);
dl_context_saturate_file(params, test_file);
}
}
#endif
}
#if 0
static lbool dl_context_eval_unary_predicate(ast_manager & m, context & ctx, char const* problem_text, static lbool dl_context_eval_unary_predicate(ast_manager & m, context & ctx, char const* problem_text,
const char * pred_name) { const char * pred_name) {
parser* p = parser::create(ctx,m); parser* p = parser::create(ctx,m);
@ -72,29 +101,4 @@ void dl_context_saturate_file(params_ref & params, const char * f) {
ctx.get_rel_context()->saturate(); ctx.get_rel_context()->saturate();
std::cerr << "Done\n"; std::cerr << "Done\n";
} }
void tst_dl_context() {
symbol relations[] = { symbol("tr_skip"), symbol("tr_sparse"), symbol("tr_hashtable"), symbol("smt_relation2") };
const unsigned rel_cnt = sizeof(relations)/sizeof(symbol);
return;
#if 0
const char * test_file = "c:\\tvm\\src\\benchmarks\\datalog\\t0.datalog";
params_ref params;
for(unsigned rel_index=0; rel_index<rel_cnt; rel_index++) {
params.set_sym("default_relation", relations[rel_index]);
for(int eager_checking=1; eager_checking>=0; eager_checking--) {
params.set_bool("eager_emptiness_checking", eager_checking!=0);
std::cerr << "Testing " << relations[rel_index] << "\n";
std::cerr << "Eager emptiness checking " << (eager_checking!=0 ? "on" : "off") << "\n";
dl_context_simple_query_test(params);
dl_context_saturate_file(params, test_file);
}
}
#endif #endif
}

View file

@ -40,7 +40,7 @@ void dl_query_ask_for_last_arg(context & ctx, func_decl * pred, relation_fact &
lbool is_sat = ctx.query(query); lbool is_sat = ctx.query(query);
std::cerr << "@@ last arg query should succeed: " << should_be_successful << "\n"; std::cerr << "@@ last arg query should succeed: " << should_be_successful << "\n";
SASSERT(is_sat != l_undef); VERIFY(is_sat != l_undef);
relation_fact res_fact(m); relation_fact res_fact(m);
res_fact.push_back(f.back()); res_fact.push_back(f.back());

View file

@ -77,6 +77,7 @@ static void dump_heap(const int_heap2 & h, std::ostream & out) {
} }
static void tst2() { static void tst2() {
(void)dump_heap;
int_heap2 h(N); int_heap2 h(N);
for (int i = 0; i < N * 10; i++) { for (int i = 0; i < N * 10; i++) {
if (i % 1000 == 0) std::cout << "i: " << i << std::endl; if (i % 1000 == 0) std::cout << "i: " << i << std::endl;

View file

@ -44,19 +44,19 @@ static void bug_to_rational() {
unsynch_mpq_manager mq; unsynch_mpq_manager mq;
scoped_mpq r(mq); scoped_mpq r(mq);
double ad, rd; double ad = 0, rd = 0;
m.set(a, 0.0); m.set(a, 0.0);
m.to_rational(a, r); m.to_rational(a, r);
ad = m.to_double(a); ad = m.to_double(a);
rd = mq.get_double(r); rd = mq.get_double(r);
SASSERT(ad == rd); VERIFY(ad == rd);
m.set(a, 1.0); m.set(a, 1.0);
m.to_rational(a, r); m.to_rational(a, r);
ad = m.to_double(a); ad = m.to_double(a);
rd = mq.get_double(r); rd = mq.get_double(r);
SASSERT(ad == rd); VERIFY(ad == rd);
m.set(a, 1.5); m.set(a, 1.5);
m.to_rational(a, r); m.to_rational(a, r);

View file

@ -35,6 +35,7 @@ static void tst1() {
list<int> * l5 = append(r, l4, l2); list<int> * l5 = append(r, l4, l2);
TRACE("list", display(tout, l5->begin(), l5->end()); tout << "\n";); TRACE("list", display(tout, l5->begin(), l5->end()); tout << "\n";);
list<int> * l6 = append(r, l5, l5); list<int> * l6 = append(r, l5, l5);
(void) l6;
TRACE("list", display(tout, l6->begin(), l6->end()); tout << "\n";); TRACE("list", display(tout, l6->begin(), l6->end()); tout << "\n";);
} }

View file

@ -435,7 +435,7 @@ static void tst_limits(unsigned prec) {
bool overflow = false; bool overflow = false;
try { m.inc(a); } try { m.inc(a); }
catch (mpff_manager::overflow_exception) { overflow = true; } catch (mpff_manager::overflow_exception) { overflow = true; }
SASSERT(overflow); VERIFY(overflow);
m.set_max(a); m.set_max(a);
m.dec(a); m.dec(a);
SASSERT(m.eq(a, b)); SASSERT(m.eq(a, b));

View file

@ -391,7 +391,6 @@ static void tst7() {
params_ref ps; params_ref ps;
reslimit rlim; reslimit rlim;
nlsat::solver s(rlim, ps); nlsat::solver s(rlim, ps);
anum_manager & am = s.am();
nlsat::pmanager & pm = s.pm(); nlsat::pmanager & pm = s.pm();
nlsat::var x0, x1, x2, a, b, c, d; nlsat::var x0, x1, x2, a, b, c, d;
a = s.mk_var(false); a = s.mk_var(false);
@ -423,7 +422,7 @@ static void tst7() {
nlsat::literal_vector litsv(lits.size(), lits.c_ptr()); nlsat::literal_vector litsv(lits.size(), lits.c_ptr());
lbool res = s.check(litsv); lbool res = s.check(litsv);
SASSERT(res == l_false); VERIFY(res == l_false);
for (unsigned i = 0; i < litsv.size(); ++i) { for (unsigned i = 0; i < litsv.size(); ++i) {
s.display(std::cout, litsv[i]); s.display(std::cout, litsv[i]);
std::cout << " "; std::cout << " ";

View file

@ -83,10 +83,10 @@ static void test_semantics(ast_manager& m, expr_ref_vector const& vars, vector<r
th_rw(fml2, result2, proof); th_rw(fml2, result2, proof);
SASSERT(m.is_true(result2) || m.is_false(result2)); SASSERT(m.is_true(result2) || m.is_false(result2));
lbool res = solver.check(); lbool res = solver.check();
SASSERT(res == l_true); VERIFY(res == l_true);
solver.assert_expr(m.is_true(result2) ? m.mk_not(result1) : result1.get()); solver.assert_expr(m.is_true(result2) ? m.mk_not(result1) : result1.get());
res = solver.check(); res = solver.check();
SASSERT(res == l_false); VERIFY(res == l_false);
} }
} }
@ -152,10 +152,10 @@ static void test_solver_semantics(ast_manager& m, expr_ref_vector const& vars, v
th_rw(fml2, result2, proof); th_rw(fml2, result2, proof);
SASSERT(m.is_true(result2) || m.is_false(result2)); SASSERT(m.is_true(result2) || m.is_false(result2));
lbool res = slv->check_sat(0,0); lbool res = slv->check_sat(0,0);
SASSERT(res == l_true); VERIFY(res == l_true);
slv->assert_expr(m.is_true(result2) ? m.mk_not(result1) : result1.get()); slv->assert_expr(m.is_true(result2) ? m.mk_not(result1) : result1.get());
res = slv->check_sat(0,0); res = slv->check_sat(0,0);
SASSERT(res == l_false); VERIFY(res == l_false);
} }
} }

View file

@ -88,6 +88,7 @@ private:
expr_ref_vector& factors = poly.factors(); expr_ref_vector& factors = poly.factors();
expr_ref_vector& coefficients = poly.coefficients(); expr_ref_vector& coefficients = poly.coefficients();
expr_ref& coefficient = poly.coefficient(); expr_ref& coefficient = poly.coefficient();
(void) coefficient;
m_rw(term); m_rw(term);

View file

@ -11,7 +11,6 @@ void tst_checker1() {
ast_manager m(PGM_FINE); ast_manager m(PGM_FINE);
expr_ref a(m); expr_ref a(m);
proof_ref p1(m), p2(m), p3(m), p4(m); proof_ref p1(m), p2(m), p3(m), p4(m);
bool result;
expr_ref_vector side_conditions(m); expr_ref_vector side_conditions(m);
a = m.mk_const(symbol("a"), m.mk_bool_sort()); a = m.mk_const(symbol("a"), m.mk_bool_sort());
@ -26,8 +25,7 @@ void tst_checker1() {
proof_checker checker(m); proof_checker checker(m);
p4 = m.mk_lemma(p3.get(), m.mk_or(a.get(), m.mk_not(a.get()))); p4 = m.mk_lemma(p3.get(), m.mk_or(a.get(), m.mk_not(a.get())));
ast_ll_pp(std::cout, m, p4.get()); ast_ll_pp(std::cout, m, p4.get());
result = checker.check(p4.get(), side_conditions); VERIFY(checker.check(p4.get(), side_conditions));
SASSERT(result);
} }
void tst_proof_checker() { void tst_proof_checker() {

View file

@ -196,7 +196,7 @@ static void tst2() {
// get_int64, get_uint64 // get_int64, get_uint64
uint64 u1 = uint64_max.get_uint64(); uint64 u1 = uint64_max.get_uint64();
uint64 u2 = UINT64_MAX; uint64 u2 = UINT64_MAX;
SASSERT(u1 == u2); VERIFY(u1 == u2);
std::cout << "int64_max: " << int64_max << ", INT64_MAX: " << INT64_MAX << ", int64_max.get_int64(): " << int64_max.get_int64() << ", int64_max.get_uint64(): " << int64_max.get_uint64() << "\n"; std::cout << "int64_max: " << int64_max << ", INT64_MAX: " << INT64_MAX << ", int64_max.get_int64(): " << int64_max.get_int64() << ", int64_max.get_uint64(): " << int64_max.get_uint64() << "\n";
SASSERT(int64_max.get_int64() == INT64_MAX); SASSERT(int64_max.get_int64() == INT64_MAX);
SASSERT(int64_min.get_int64() == INT64_MIN); SASSERT(int64_min.get_int64() == INT64_MIN);

View file

@ -35,6 +35,7 @@ static void add_clause(sat::solver& s, random_gen& r, trail_t& t) {
} }
static void display_state(std::ostream& out, sat::solver& s, trail_t& t) { static void display_state(std::ostream& out, sat::solver& s, trail_t& t) {
(void)t;
s.display(out); s.display(out);
} }

View file

@ -38,6 +38,7 @@ void tst_simple_parser() {
TRACE("simple_parser", tout << mk_pp(r, m) << "\n";); TRACE("simple_parser", tout << mk_pp(r, m) << "\n";);
p.parse_string("(+ x (* y x) x)", r); p.parse_string("(+ x (* y x) x)", r);
float vals[2] = { 2.0f, 3.0f }; float vals[2] = { 2.0f, 3.0f };
(void)vals;
TRACE("simple_parser", TRACE("simple_parser",
tout << mk_pp(r, m) << "\n"; tout << mk_pp(r, m) << "\n";
tout << "val: " << eval(r, 2, vals) << "\n";); tout << "val: " << eval(r, 2, vals) << "\n";);

View file

@ -129,18 +129,18 @@ static void tst_isolate_roots(polynomial_ref const & p, unsigned prec, mpbq_mana
tout << "fourier upper: " << um.sign_variations_at(fseq, uppers[i]) << "\n";); tout << "fourier upper: " << um.sign_variations_at(fseq, uppers[i]) << "\n";);
unsigned fsv_lower = um.sign_variations_at(fseq, lowers[i]); unsigned fsv_lower = um.sign_variations_at(fseq, lowers[i]);
unsigned fsv_upper = um.sign_variations_at(fseq, uppers[i]); unsigned fsv_upper = um.sign_variations_at(fseq, uppers[i]);
SASSERT(um.eval_sign_at(q.size(), q.c_ptr(), lowers[i]) == 0 || VERIFY(um.eval_sign_at(q.size(), q.c_ptr(), lowers[i]) == 0 ||
um.eval_sign_at(q.size(), q.c_ptr(), uppers[i]) == 0 || um.eval_sign_at(q.size(), q.c_ptr(), uppers[i]) == 0 ||
// fsv_lower - fsv_upper is an upper bound for the number of roots in the interval // fsv_lower - fsv_upper is an upper bound for the number of roots in the interval
// fsv_upper - fsv_upper - num_roots is even // fsv_upper - fsv_upper - num_roots is even
// Recall that num_roots == 1 in the interval. // Recall that num_roots == 1 in the interval.
(fsv_lower - fsv_upper >= 1 && (fsv_lower - fsv_upper - 1) % 2 == 0)); (fsv_lower - fsv_upper >= 1 && (fsv_lower - fsv_upper - 1) % 2 == 0));
// Double checking using Descartes bounds for the interval // Double checking using Descartes bounds for the interval
// Must use square free component. // Must use square free component.
unsigned dab = um.descartes_bound_a_b(q_sqf.size(), q_sqf.c_ptr(), bqm, lowers[i], uppers[i]); unsigned dab = um.descartes_bound_a_b(q_sqf.size(), q_sqf.c_ptr(), bqm, lowers[i], uppers[i]);
TRACE("upolynomial", tout << "Descartes bound: " << dab << "\n";); TRACE("upolynomial", tout << "Descartes bound: " << dab << "\n";);
SASSERT(dab == 1); VERIFY(dab == 1);
} }
} }
std::cout << "\n"; std::cout << "\n";
@ -499,7 +499,7 @@ static void tst_refinable(polynomial_ref const & p, mpbq_manager & bqm, mpbq & a
std::cout << "new (" << bqm.to_string(a) << ", " << bqm.to_string(b) << ")\n"; std::cout << "new (" << bqm.to_string(a) << ", " << bqm.to_string(b) << ")\n";
int sign_a = um.eval_sign_at(_p.size(), _p.c_ptr(), a); int sign_a = um.eval_sign_at(_p.size(), _p.c_ptr(), a);
int sign_b = um.eval_sign_at(_p.size(), _p.c_ptr(), b); int sign_b = um.eval_sign_at(_p.size(), _p.c_ptr(), b);
SASSERT(sign_a != 0 && sign_b != 0 && sign_a == -sign_b); VERIFY(sign_a != 0 && sign_b != 0 && sign_a == -sign_b);
} }
else { else {
std::cout << "new root: " << bqm.to_string(a) << "\n"; std::cout << "new root: " << bqm.to_string(a) << "\n";