mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 17:45:32 +00:00
Merge branch 'master' into polysat
This commit is contained in:
commit
e5e79c1d4b
398 changed files with 24548 additions and 4983 deletions
|
@ -123,6 +123,7 @@ add_executable(test-z3
|
|||
theory_pb.cpp
|
||||
timeout.cpp
|
||||
total_order.cpp
|
||||
totalizer.cpp
|
||||
trigo.cpp
|
||||
udoc_relation.cpp
|
||||
uint_set.cpp
|
||||
|
|
|
@ -20,6 +20,7 @@ Notes:
|
|||
#include "math/polynomial/polynomial_var2value.h"
|
||||
#include "util/mpbq.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
static void display_anums(std::ostream & out, scoped_anum_vector const & rs) {
|
||||
out << "numbers in decimal:\n";
|
||||
|
|
|
@ -10,7 +10,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/rewriter/th_rewriter.h"
|
||||
#include "model/model.h"
|
||||
#include "parsers/smt2/smt2parser.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
static expr_ref parse_fml(ast_manager& m, char const* str) {
|
||||
expr_ref result(m);
|
||||
|
|
|
@ -6,6 +6,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
|
||||
#include "smt/arith_eq_solver.h"
|
||||
#include "smt/params/smt_params.h"
|
||||
#include <iostream>
|
||||
|
||||
typedef rational numeral;
|
||||
typedef vector<numeral> row;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "math/dd/dd_bdd.h"
|
||||
#include "math/dd/dd_fdd.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace dd {
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "util/vector.h"
|
||||
#include "util/mpz.h"
|
||||
#include "util/bit_util.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst_shl(unsigned src_sz, unsigned const * src, unsigned k,
|
||||
unsigned dst_sz, unsigned const * dst, bool trace = true) {
|
||||
|
|
|
@ -20,6 +20,7 @@ Revision History:
|
|||
#include "util/hashtable.h"
|
||||
#include "util/hash.h"
|
||||
#include "util/util.h"
|
||||
#include <iostream>
|
||||
|
||||
typedef chashtable<int, int_hash, default_eq<int> > int_table;
|
||||
typedef cmap<int, int, int_hash, default_eq<int> > int_map;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "ast/reg_decl_plugins.h"
|
||||
#include "solver/solver_pool.h"
|
||||
#include "smt/smt_solver.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void tst_cube_clause() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -11,6 +11,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "muz/fp/dl_register_engine.h"
|
||||
#include "smt/params/smt_params.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
using namespace datalog;
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ Revision History:
|
|||
#include "smt/smt_literal.h"
|
||||
#include "util/util.h"
|
||||
#include "util/debug.h"
|
||||
#include <iostream>
|
||||
|
||||
struct diff_logic_ext {
|
||||
typedef rational numeral;
|
||||
|
|
|
@ -11,6 +11,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "muz/rel/dl_finite_product_relation.h"
|
||||
#include "muz/rel/dl_sparse_table.h"
|
||||
#include "muz/rel/rel_context.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace datalog {
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "util/stopwatch.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include "muz/rel/dl_relation_manager.h"
|
||||
#include <iostream>
|
||||
|
||||
using namespace datalog;
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "muz/rel/dl_bound_relation.h"
|
||||
#include "muz/rel/dl_product_relation.h"
|
||||
#include "util/util.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace datalog {
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "muz/rel/dl_table.h"
|
||||
#include "muz/fp/dl_register_engine.h"
|
||||
#include "muz/rel/dl_relation_manager.h"
|
||||
#include <iostream>
|
||||
|
||||
typedef datalog::table_base* (*mk_table_fn)(datalog::relation_manager& m, datalog::table_signature& sig);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/ast_util.h"
|
||||
#include "ast/rewriter/expr_safe_replace.h"
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
static void tst_doc1(unsigned n) {
|
||||
doc_manager m(n);
|
||||
|
|
|
@ -9,6 +9,7 @@ Copyright (c) 2020 Microsoft Corporation
|
|||
#include "ast/reg_decl_plugins.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "ast/arith_decl_plugin.h"
|
||||
#include <iostream>
|
||||
|
||||
static expr_ref mk_const(ast_manager& m, char const* name, sort* s) {
|
||||
return expr_ref(m.mk_const(symbol(name), s), m);
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
--*/
|
||||
#include "util/util.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_escaped() {
|
||||
std::cout << "[" << escaped("\"hello\"\"world\"\n\n") << "]\n";
|
||||
|
|
|
@ -13,6 +13,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/arith_decl_plugin.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
#include <iostream>
|
||||
|
||||
expr* mk_bv_xor(bv_util& bv, expr* a, expr* b) {
|
||||
expr* args[2];
|
||||
|
|
|
@ -18,6 +18,7 @@ Revision History:
|
|||
#include "util/f2n.h"
|
||||
#include "util/hwf.h"
|
||||
#include "util/mpf.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
hwf_manager hm;
|
||||
|
|
|
@ -8,6 +8,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/bv_decl_plugin.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_factor_rewriter() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -12,6 +12,7 @@ Copyright (c) 2016 Microsoft Corporation
|
|||
#include "tactic/tactic.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "tactic/fd_solver/fd_solver.h"
|
||||
#include <iostream>
|
||||
|
||||
static expr_ref mk_const(ast_manager& m, char const* name, sort* s) {
|
||||
return expr_ref(m.mk_const(symbol(name), s), m);
|
||||
|
|
|
@ -5,6 +5,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
--*/
|
||||
|
||||
#include "math/hilbert/heap_trie.h"
|
||||
#include <iostream>
|
||||
|
||||
struct unsigned_le {
|
||||
static bool le(unsigned i, unsigned j) { return i <= j; }
|
||||
|
|
|
@ -15,6 +15,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "util/rlimit.h"
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
static bool g_use_ordered_support = false;
|
||||
|
|
|
@ -9,6 +9,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/arith_decl_plugin.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_horn_subsume_model_converter() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -19,6 +19,7 @@ Revision History:
|
|||
#include "util/hwf.h"
|
||||
#include "util/f2n.h"
|
||||
#include "util/rational.h"
|
||||
#include <iostream>
|
||||
|
||||
static void bug_set_double() {
|
||||
hwf_manager m;
|
||||
|
|
|
@ -23,6 +23,7 @@ Revision History:
|
|||
#include "ast/ast.h"
|
||||
#include "util/debug.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
template class interval_manager<im_default_config>;
|
||||
typedef im_default_config::interval interval;
|
||||
|
|
|
@ -5,6 +5,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
--*/
|
||||
#include "util/rlimit.h"
|
||||
#include "math/hilbert/hilbert_basis.h"
|
||||
#include <iostream>
|
||||
|
||||
/*
|
||||
Test generation of linear congruences a la Karr.
|
||||
|
|
|
@ -268,4 +268,5 @@ int main(int argc, char ** argv) {
|
|||
TST(fixplex);
|
||||
TST(mod_interval);
|
||||
TST(viable);
|
||||
TST(totalizer);
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
|||
#include "ast/substitution/matcher.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void tst_match(ast_manager & m, app * t, app * i) {
|
||||
substitution s(m);
|
||||
|
|
|
@ -9,6 +9,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/arith_decl_plugin.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_model2expr() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "math/simplex/model_based_opt.h"
|
||||
#include "util/util.h"
|
||||
#include "util/uint_set.h"
|
||||
#include <iostream>
|
||||
|
||||
typedef opt::model_based_opt::var var;
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ast/arith_decl_plugin.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include "ast/ast_pp.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void tst_model_evaluator() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -13,6 +13,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/array_decl_plugin.h"
|
||||
#include "model/model_v2_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_model_retrieval()
|
||||
{
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
--*/
|
||||
#include "util/mpbq.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
unsynch_mpz_manager zm;
|
||||
|
|
|
@ -18,6 +18,7 @@ Revision History:
|
|||
--*/
|
||||
#include <sstream>
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
#include "util/mpff.h"
|
||||
#include "util/mpz.h"
|
||||
#include "util/mpq.h"
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
--*/
|
||||
#include "util/mpfx.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
mpfx_manager m;
|
||||
|
|
|
@ -20,6 +20,7 @@ Revision History:
|
|||
#include "util/mpq.h"
|
||||
#include "util/rational.h"
|
||||
#include "util/timeit.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst0() {
|
||||
synch_mpq_manager m;
|
||||
|
|
|
@ -21,6 +21,7 @@ Revision History:
|
|||
#include "util/rational.h"
|
||||
#include "util/timeit.h"
|
||||
#include "util/scoped_numeral.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
synch_mpz_manager m;
|
||||
|
|
|
@ -8,6 +8,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/arith_decl_plugin.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_nlarith_util() {
|
||||
ast_manager M;
|
||||
|
|
|
@ -24,6 +24,7 @@ Notes:
|
|||
#include "nlsat/nlsat_explain.h"
|
||||
#include "math/polynomial/polynomial_cache.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
nlsat::interval_set_ref tst_interval(nlsat::interval_set_ref const & s1,
|
||||
nlsat::interval_set_ref const & s2,
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
--*/
|
||||
#include "smt/old_interval.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
ext_numeral inf(true);
|
||||
|
|
|
@ -19,6 +19,7 @@ Revision History:
|
|||
#include "util/parray.h"
|
||||
#include "util/small_object_allocator.h"
|
||||
#include "ast/ast.h"
|
||||
#include <iostream>
|
||||
|
||||
template<bool PRESERVE_ROOTS>
|
||||
struct int_parray_config {
|
||||
|
|
|
@ -19,6 +19,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "tactic/fd_solver/fd_solver.h"
|
||||
#include "solver/solver.h"
|
||||
#include "ast/arith_decl_plugin.h"
|
||||
#include <iostream>
|
||||
|
||||
static void test1() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "math/dd/dd_pdd.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace dd {
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "tactic/goal.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "tactic/bv/bit_blaster_tactic.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace dd {
|
||||
void print_eqs(ptr_vector<solver::equation> const& eqs) {
|
||||
|
|
|
@ -22,6 +22,7 @@ Notes:
|
|||
#include "math/polynomial/polynomial_cache.h"
|
||||
#include "math/polynomial/linear_eq_solver.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
std::cout << "\n----- Basic testing -------\n";
|
||||
|
|
|
@ -10,7 +10,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/reg_decl_plugins.h"
|
||||
#include "ast/rewriter/arith_rewriter.h"
|
||||
#include "ast/ast_pp.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
static expr_ref parse_fml(ast_manager& m, char const* str) {
|
||||
expr_ref result(m);
|
||||
|
|
|
@ -18,6 +18,7 @@ Notes:
|
|||
--*/
|
||||
#include "util/mpz.h"
|
||||
#include "util/prime_generator.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_prime_generator() {
|
||||
unsynch_mpz_manager m;
|
||||
|
|
|
@ -6,6 +6,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
|
||||
#include "ast/proofs/proof_checker.h"
|
||||
#include "ast/ast_ll_pp.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_checker1() {
|
||||
ast_manager m(PGM_ENABLED);
|
||||
|
|
|
@ -15,6 +15,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "smt/smt_context.h"
|
||||
#include "ast/expr_abstract.h"
|
||||
#include "ast/rewriter/expr_safe_replace.h"
|
||||
#include <iostream>
|
||||
|
||||
static expr_ref parse_fml(ast_manager& m, char const* str) {
|
||||
expr_ref result(m);
|
||||
|
|
|
@ -11,7 +11,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "util/lbool.h"
|
||||
#include <sstream>
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#if 0
|
||||
static void test_qe(ast_manager& m, lbool expected_outcome, expr* fml, char const* option) {
|
||||
|
|
|
@ -18,6 +18,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "model/model_smt2_pp.h"
|
||||
#include "parsers/smt2/smt2parser.h"
|
||||
#include "ast/rewriter/var_subst.h"
|
||||
#include <iostream>
|
||||
|
||||
static void validate_quant_solution(ast_manager& m, expr* fml, expr* guard, qe::def_vector const& defs) {
|
||||
// verify:
|
||||
|
|
|
@ -19,6 +19,7 @@ Notes:
|
|||
#include "math/realclosure/realclosure.h"
|
||||
#include "math/realclosure/mpz_matrix.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
unsynch_mpq_manager qm;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "util/cancel_eh.h"
|
||||
#include "util/scoped_ctrl_c.h"
|
||||
#include "util/scoped_timer.h"
|
||||
#include <iostream>
|
||||
|
||||
static bool build_instance(char const * filename, sat::solver& s, sat::local_search& local_search)
|
||||
{
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "util/statistics.h"
|
||||
#include "sat/sat_lookahead.h"
|
||||
#include "sat/dimacs.h"
|
||||
#include <iostream>
|
||||
|
||||
static void display_model(sat::model const & m) {
|
||||
for (unsigned i = 1; i < m.size(); i++) {
|
||||
|
|
|
@ -6,6 +6,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
|
||||
#include "sat/sat_solver.h"
|
||||
#include "util/util.h"
|
||||
#include <iostream>
|
||||
|
||||
typedef sat::literal_vector clause_t;
|
||||
typedef vector<clause_t> clauses_t;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "util/trace.h"
|
||||
#include <thread>
|
||||
#include <atomic>
|
||||
#include <iostream>
|
||||
|
||||
class test_scoped_eh : public event_handler {
|
||||
std::atomic<bool> m_called = false;
|
||||
|
|
|
@ -11,10 +11,12 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "util/vector.h"
|
||||
#include "util/rational.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
#define R rational
|
||||
typedef simplex::simplex<simplex::mpz_ext> Simplex;
|
||||
typedef simplex::sparse_matrix<simplex::mpz_ext> sparse_matrix;
|
||||
typedef simplex::sparse_matrix<simplex::mpq_ext> qmatrix;
|
||||
|
||||
static vector<R> vec(int i, int j) {
|
||||
vector<R> nv;
|
||||
|
@ -24,29 +26,29 @@ static vector<R> vec(int i, int j) {
|
|||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k) {
|
||||
// vector<R> nv = vec(i, j);
|
||||
// nv.push_back(R(k));
|
||||
// return nv;
|
||||
// }
|
||||
static vector<R> vec(int i, int j, int k) {
|
||||
vector<R> nv = vec(i, j);
|
||||
nv.push_back(R(k));
|
||||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k, int l) {
|
||||
// vector<R> nv = vec(i, j, k);
|
||||
// nv.push_back(R(l));
|
||||
// return nv;
|
||||
// }
|
||||
static vector<R> vec(int i, int j, int k, int l) {
|
||||
vector<R> nv = vec(i, j, k);
|
||||
nv.push_back(R(l));
|
||||
return nv;
|
||||
}
|
||||
|
||||
/// static vector<R> vec(int i, int j, int k, int l, int x) {
|
||||
/// vector<R> nv = vec(i, j, k, l);
|
||||
/// nv.push_back(R(x));
|
||||
/// return nv;
|
||||
/// }
|
||||
static vector<R> vec(int i, int j, int k, int l, int x) {
|
||||
vector<R> nv = vec(i, j, k, l);
|
||||
nv.push_back(R(x));
|
||||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k, int l, int x, int y) {
|
||||
// vector<R> nv = vec(i, j, k, l, x);
|
||||
// nv.push_back(R(y));
|
||||
// return nv;
|
||||
// }
|
||||
static vector<R> vec(int i, int j, int k, int l, int x, int y) {
|
||||
vector<R> nv = vec(i, j, k, l, x);
|
||||
nv.push_back(R(y));
|
||||
return nv;
|
||||
}
|
||||
|
||||
// static vector<R> vec(int i, int j, int k, int l, int x, int y, int z) {
|
||||
// vector<R> nv = vec(i, j, k, l, x, y);
|
||||
|
@ -131,6 +133,30 @@ static void test4() {
|
|||
feas(S);
|
||||
}
|
||||
|
||||
static void add(qmatrix& m, vector<R> const& v) {
|
||||
m.ensure_var(v.size()-1);
|
||||
auto r = m.mk_row();
|
||||
for (unsigned u = 0; u < v.size(); ++u)
|
||||
m.add_var(r, v[u].to_mpq(), u);
|
||||
}
|
||||
|
||||
static void test5() {
|
||||
unsynch_mpq_manager m;
|
||||
qmatrix M(m);
|
||||
add(M, vec(1, 0, -3, 0, 2, -8));
|
||||
add(M, vec(0, 1, 5, 0, -1, 4));
|
||||
add(M, vec(0, 0, 0, 1, 7, -9));
|
||||
add(M, vec(0, 0, 0, 0, 0, 0));
|
||||
M.display(std::cout);
|
||||
vector<vector<rational>> K;
|
||||
kernel(M, K);
|
||||
std::cout << "after\n";
|
||||
for (auto const& v : K)
|
||||
std::cout << v << "\n";
|
||||
M.display(std::cout);
|
||||
|
||||
}
|
||||
|
||||
void tst_simplex() {
|
||||
reslimit rl; Simplex S(rl);
|
||||
|
||||
|
@ -166,4 +192,5 @@ void tst_simplex() {
|
|||
test2();
|
||||
test3();
|
||||
test4();
|
||||
test5();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "ast/reg_decl_plugins.h"
|
||||
#include "solver/solver_pool.h"
|
||||
#include "smt/smt_solver.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_solver_pool() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -14,6 +14,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "model/model_smt2_pp.h"
|
||||
#include "smt/smt_kernel.h"
|
||||
#include "smt/params/smt_params.h"
|
||||
#include <iostream>
|
||||
|
||||
struct ast_ext {
|
||||
ast_manager& m;
|
||||
|
|
|
@ -12,6 +12,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/ast_pp.h"
|
||||
#include "ast/arith_decl_plugin.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_substitution()
|
||||
{
|
||||
|
|
|
@ -5,6 +5,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
--*/
|
||||
|
||||
#include "util/tbv.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1(unsigned num_bits) {
|
||||
tbv_manager m(num_bits);
|
||||
|
|
|
@ -10,6 +10,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/reg_decl_plugins.h"
|
||||
#include "smt/smt_context.h"
|
||||
#include "model/model_v2_pp.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_theory_dl() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -10,6 +10,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "ast/reg_decl_plugins.h"
|
||||
#include "smt/theory_pb.h"
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
#include <iostream>
|
||||
|
||||
static unsigned populate_literals(unsigned k, smt::literal_vector& lits) {
|
||||
ENSURE(k < (1u << lits.size()));
|
||||
|
|
|
@ -19,6 +19,7 @@ Revision History:
|
|||
|
||||
#include "util/total_order.h"
|
||||
#include "util/timeit.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
uint_total_order to;
|
||||
|
|
22
src/test/totalizer.cpp
Normal file
22
src/test/totalizer.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
#include "opt/totalizer.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_totalizer() {
|
||||
std::cout << "totalizer\n";
|
||||
ast_manager m;
|
||||
reg_decl_plugins(m);
|
||||
expr_ref_vector lits(m);
|
||||
for (unsigned i = 0; i < 5; ++i)
|
||||
lits.push_back(m.mk_fresh_const("a", m.mk_bool_sort()));
|
||||
opt::totalizer tot(lits);
|
||||
|
||||
for (unsigned i = 0; i <= 6; ++i) {
|
||||
std::cout << "at least " << i << " ";
|
||||
expr* am = tot.at_least(i);
|
||||
std::cout << mk_pp(am, m) << "\n";
|
||||
}
|
||||
for (auto& clause : tot.clauses())
|
||||
std::cout << clause << "\n";
|
||||
}
|
|
@ -24,6 +24,7 @@ Revision History:
|
|||
#include "util/debug.h"
|
||||
#include "test/im_float_config.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
#define PREC 100000
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Copyright (c) 2015 Microsoft Corporation
|
|||
#include "muz/rel/rel_context.h"
|
||||
#include "ast/bv_decl_plugin.h"
|
||||
#include "muz/rel/check_relation.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
class udoc_tester {
|
||||
typedef datalog::relation_base relation_base;
|
||||
|
|
|
@ -19,6 +19,7 @@ Revision History:
|
|||
|
||||
#include "util/uint_set.h"
|
||||
#include "util/vector.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1(unsigned n) {
|
||||
uint_set s1;
|
||||
|
|
|
@ -19,6 +19,7 @@ Notes:
|
|||
#include "math/polynomial/upolynomial.h"
|
||||
#include "util/timeit.h"
|
||||
#include "util/rlimit.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
reslimit rl;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "ast/datatype_decl_plugin.h"
|
||||
#include "ast/seq_decl_plugin.h"
|
||||
#include "ast/array_decl_plugin.h"
|
||||
#include <iostream>
|
||||
|
||||
static void list(unsigned bound, ast_manager& m, sort* s) {
|
||||
value_generator gen(m);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "ast/ast_pp.h"
|
||||
#include "ast/seq_decl_plugin.h"
|
||||
#include "ast/array_decl_plugin.h"
|
||||
#include <iostream>
|
||||
|
||||
void tst_value_sweep() {
|
||||
ast_manager m;
|
||||
|
|
|
@ -23,6 +23,7 @@ Revision History:
|
|||
#include "ast/array_decl_plugin.h"
|
||||
#include "ast/for_each_expr.h"
|
||||
#include "ast/reg_decl_plugins.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace find_q {
|
||||
struct proc {
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
--*/
|
||||
#include "util/vector.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
svector<int> v1;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "util/debug.h"
|
||||
#include "util/trace.h"
|
||||
#include "util/zstring.h"
|
||||
#include <iostream>
|
||||
|
||||
// Encode and check for roundtrip all printable ASCII characters.
|
||||
static void tst_ascii_roundtrip() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue