3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

add ite-finder, profile

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-05 13:35:14 -08:00
parent a6c3c18e74
commit e1fb74edc5
17 changed files with 321 additions and 168 deletions

View file

@ -14,6 +14,7 @@ Notes:
--*/
#include "math/simplex/bit_matrix.h"
#include "util/stopwatch.h"
bit_matrix::col_iterator bit_matrix::row::begin() const {
@ -68,11 +69,22 @@ bit_matrix::row& bit_matrix::row::operator+=(row const& other) {
return *this;
}
struct bit_matrix::report {
bit_matrix& b;
stopwatch m_watch;
report(bit_matrix& b) : b(b) { m_watch.start(); }
~report() {
m_watch.stop();
IF_VERBOSE(10, verbose_stream() << "solve " << b.m_rows.size() << " " << b.m_num_columns << " " << m_watch << "\n");
}
};
void bit_matrix::solve() {
basic_solve();
}
void bit_matrix::basic_solve() {
report _report(*this);
for (row& r : *this) {
auto ci = r.begin();
if (ci != r.end()) {

View file

@ -33,6 +33,8 @@ class bit_matrix {
unsigned m_num_chunks;
ptr_vector<uint64_t> m_rows;
struct report;
public:
class col_iterator;