3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-24 03:57:51 +00:00

refactor fi functionality

This commit is contained in:
Nikolaj Bjorner 2021-12-13 11:39:15 -08:00
parent ca3251b152
commit 651b41f8c0
3 changed files with 35 additions and 26 deletions

View file

@ -30,20 +30,22 @@ namespace polysat {
std::tuple<bool, rational, pdd, pdd> linear_decompose(pvar v, pdd const& p, vector<signed_constraint>& out_side_cond);
bool match_linear1(signed_constraint const& c,
rational const & a1, pdd const& b1, pdd const& e1,
rational const & a2, pdd const& b2, pdd const& e2,
rational& coeff, eval_interval& interval, vector<signed_constraint>& side_cond);
bool match_linear1(signed_constraint const& c,
rational const& a1, pdd const& b1, pdd const& e1,
rational const& a2, pdd const& b2, pdd const& e2,
fi_record& fi);
bool match_linear2(signed_constraint const& c,
rational const & a1, pdd const& b1, pdd const& e1,
rational const & a2, pdd const& b2, pdd const& e2,
rational& coeff, eval_interval& interval, vector<signed_constraint>& side_cond);
fi_record& fi);
bool match_linear3(signed_constraint const& c,
rational const & a1, pdd const& b1, pdd const& e1,
rational const & a2, pdd const& b2, pdd const& e2,
rational& coeff, eval_interval& interval, vector<signed_constraint>& side_cond);
fi_record& fi);
void add_non_unit_side_conds(fi_record& fi, pdd const& b1, pdd const& e1, pdd const& b2, pdd const& e2);
public:
forbidden_intervals(solver& s) :s(s) {}