mirror of
https://github.com/Z3Prover/z3
synced 2025-05-02 05:15:52 +00:00
tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
938a89e197
commit
f97dd34028
6 changed files with 25 additions and 11 deletions
|
@ -689,7 +689,8 @@ namespace lp {
|
|||
|
||||
void int_solver::simplify(std::function<bool(unsigned)>& is_root) {
|
||||
|
||||
#if 0
|
||||
return;
|
||||
#if 1
|
||||
|
||||
// in-processing simplification can go here, such as bounds improvements.
|
||||
|
||||
|
@ -699,6 +700,20 @@ namespace lp {
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
lp::explanation exp;
|
||||
m_ex = &exp;
|
||||
m_t.clear();
|
||||
m_k.reset();
|
||||
|
||||
if (has_inf_int())
|
||||
local_gomory();
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
stopwatch sw;
|
||||
explanation exp1, exp2;
|
||||
|
||||
|
@ -919,8 +934,7 @@ namespace lp {
|
|||
}
|
||||
|
||||
lia_move int_solver::local_gomory() {
|
||||
for (unsigned i = 0; i < 4; ++i) {
|
||||
|
||||
for (unsigned i = 0; i < 2 && has_inf_int() && !settings().get_cancel_flag(); ++i) {
|
||||
m_ex->clear();
|
||||
m_t.clear();
|
||||
m_k.reset();
|
||||
|
@ -939,11 +953,15 @@ namespace lp {
|
|||
lra.get_infeasibility_explanation(*m_ex);
|
||||
return lia_move::conflict;
|
||||
}
|
||||
//r = m_patcher();
|
||||
//if (r != lia_move::undef)
|
||||
// return r;
|
||||
}
|
||||
m_ex->clear();
|
||||
m_t.clear();
|
||||
m_k.reset();
|
||||
|
||||
if (!has_inf_int())
|
||||
return lia_move::sat;
|
||||
return lia_move::undef;
|
||||
}
|
||||
|
||||
|
|
|
@ -331,7 +331,7 @@ bool basics::basic_lemma_for_mon_neutral_derived(const monic& rm, const factoriz
|
|||
for (auto fc : f) {
|
||||
lpvar j = var(fc);
|
||||
all_int &= c().var_is_int(j);
|
||||
if (j == null_lpvar && abs(val(j)) == abs_mv &&
|
||||
if (u == null_lpvar && abs(val(j)) == abs_mv &&
|
||||
c().vars_are_equiv(j, mon_var) &&
|
||||
(mon_var_is_sep_from_zero || c().var_is_separated_from_zero(j)))
|
||||
u = j;
|
||||
|
|
|
@ -100,7 +100,6 @@ namespace nla {
|
|||
}
|
||||
|
||||
bool grobner::is_conflicting() {
|
||||
bool is_conflict = false;
|
||||
for (auto eq : m_solver.equations()) {
|
||||
if (is_conflicting(*eq)) {
|
||||
lp_settings().stats().m_grobner_conflicts++;
|
||||
|
@ -677,7 +676,6 @@ namespace nla {
|
|||
nex_creator& nc = m_nex_creator;
|
||||
nc.pop(0);
|
||||
nex_creator::sum_factory sum(nc);
|
||||
unsigned row_index = 0;
|
||||
u_map<nex_var*> var2nex;
|
||||
for (auto v : eq.poly().free_vars())
|
||||
var2nex.insert(v, nc.mk_var(v));
|
||||
|
|
|
@ -286,11 +286,9 @@ struct solver::imp {
|
|||
|
||||
bool check_constraint(unsigned idx) {
|
||||
auto& c = lra.constraints()[idx];
|
||||
auto& pm = m_nlsat->pm();
|
||||
auto k = c.kind();
|
||||
auto offset = -c.rhs();
|
||||
auto lhs = c.coeffs();
|
||||
auto sz = lhs.size();
|
||||
|
||||
scoped_anum val(am()), mon(am());
|
||||
am().set(val, offset.to_mpq());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue