mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
move sorting of nex expressions to nex_creator
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
8cd9989dcf
commit
090851559b
9 changed files with 134 additions and 429 deletions
|
@ -73,6 +73,8 @@ void test_cn_on_expr(nex_sum *t, cross_nested& cn) {
|
|||
cn.run(t);
|
||||
}
|
||||
|
||||
lt_on_vars lpvar_lt() { return [](lpvar a, lpvar b) { return a < b; };}
|
||||
|
||||
void test_simplify() {
|
||||
cross_nested cn(
|
||||
[](const nex* n) {
|
||||
|
@ -80,9 +82,7 @@ void test_simplify() {
|
|||
return false;
|
||||
} ,
|
||||
[](unsigned) { return false; },
|
||||
[]{ return 1; },
|
||||
less_than_nex_standard
|
||||
);
|
||||
[]{ return 1; }, lpvar_lt());
|
||||
enable_trace("nla_cn");
|
||||
enable_trace("nla_cn_details");
|
||||
nex_creator & r = cn.get_nex_creator();
|
||||
|
@ -104,11 +104,11 @@ void test_simplify() {
|
|||
nex * e = r.mk_sum(a, r.mk_sum(b, m));
|
||||
TRACE("nla_cn", tout << "e = " << *e << "\n";);
|
||||
std::function<nex_scalar*()> mks = [&r] {return r.mk_scalar(rational(1)); };
|
||||
e->simplify(&e, mks);
|
||||
e->simplify(&e, lpvar_lt(), mks);
|
||||
TRACE("nla_cn", tout << "simplified e = " << *e << "\n";);
|
||||
nex * l = r.mk_sum(e, r.mk_mul(r.mk_scalar(rational(3)), r.clone(e)));
|
||||
TRACE("nla_cn", tout << "sum l = " << *l << "\n";);
|
||||
l->simplify(&l, mks);
|
||||
l->simplify(&l, lpvar_lt(), mks);
|
||||
TRACE("nla_cn", tout << "simplified sum l = " << *l << "\n";);
|
||||
}
|
||||
|
||||
|
@ -119,9 +119,7 @@ void test_cn() {
|
|||
return false;
|
||||
} ,
|
||||
[](unsigned) { return false; },
|
||||
[]{ return 1; },
|
||||
less_than_nex_standard
|
||||
);
|
||||
[]{ return 1; }, lpvar_lt());
|
||||
enable_trace("nla_cn");
|
||||
enable_trace("nla_cn_details");
|
||||
nex_var* a = cn.get_nex_creator().mk_var(0);
|
||||
|
@ -147,8 +145,8 @@ void test_cn() {
|
|||
nex* _6aad = cn.get_nex_creator().mk_mul(cn.get_nex_creator().mk_scalar(rational(6)), a, a, d);
|
||||
#ifdef Z3DEBUG
|
||||
nex * clone = cn.get_nex_creator().clone(cn.get_nex_creator().mk_sum(_6aad, abcd, aaccd, add, eae, eac, ed));
|
||||
clone->simplify(&clone,[&cn] {return cn.get_nex_creator().mk_scalar(rational(1));});
|
||||
SASSERT(clone->is_simplified());
|
||||
clone->simplify(&clone, lpvar_lt(), [&cn] {return cn.get_nex_creator().mk_scalar(rational(1));});
|
||||
SASSERT(clone->is_simplified(lpvar_lt()));
|
||||
TRACE("nla_cn", tout << "clone = " << *clone << "\n";);
|
||||
#endif
|
||||
// test_cn_on_expr(cn.get_nex_creator().mk_sum(aad, abcd, aaccd, add, eae, eac, ed), cn);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue