mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
add PB operators to C-based API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
133ba2d02a
commit
d1937b2032
8 changed files with 77 additions and 3 deletions
|
@ -65,6 +65,7 @@ namespace opt {
|
|||
for (unsigned i = 0; i < ans.size(); ++i) {
|
||||
tout << mk_pp(ans[i].get(), m) << "\n";
|
||||
});
|
||||
IF_VERBOSE(1, verbose_stream() << "(maxsat.core sat: " << ans.size() << "\n";);
|
||||
if (ans.size() > m_answer.size()) {
|
||||
m_answer.reset();
|
||||
m_answer.append(ans);
|
||||
|
@ -91,6 +92,7 @@ namespace opt {
|
|||
core_vars.insert(get_not(core[i]));
|
||||
block_vars.remove(core[i]);
|
||||
}
|
||||
IF_VERBOSE(1, verbose_stream() << "(maxsat.core unsat (core size = " << core.size() << ")\n";);
|
||||
if (core.empty()) {
|
||||
m_upper = m_answer.size();
|
||||
return l_true;
|
||||
|
|
|
@ -73,7 +73,7 @@ namespace opt {
|
|||
*/
|
||||
|
||||
lbool step() {
|
||||
IF_VERBOSE(1, verbose_stream() << "(opt.max_sat step)\n";);
|
||||
IF_VERBOSE(1, verbose_stream() << "(opt.max_sat step)\n";); // add some count, add some information of # of soft constraints still possibly sat.
|
||||
expr_ref_vector assumptions(m), block_vars(m);
|
||||
for (unsigned i = 0; i < m_soft.size(); ++i) {
|
||||
assumptions.push_back(m.mk_not(m_aux[i].get()));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue