3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-20 15:34:41 +00:00

further tuning pb

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-02-25 23:30:14 -08:00
parent 478b3160ac
commit 54e3b5ee0d
6 changed files with 74 additions and 35 deletions

View file

@ -20,6 +20,7 @@ Notes:
#define _SPARSE_MATRIX_H_
#include "mpq_inf.h"
#include "statistics.h"
namespace simplex {
@ -39,6 +40,14 @@ namespace simplex {
private:
struct stats {
unsigned m_add_rows;
stats() { reset(); }
void reset() {
memset(this, sizeof(*this), 0);
}
};
static const int dead_id = -1;
/**
@ -126,6 +135,7 @@ namespace simplex {
vector<column> m_columns; // per var
svector<int> m_var_pos; // temporary map from variables to positions in row
unsigned_vector m_var_pos_idx; // indices in m_var_pos
stats m_stats;
bool well_formed_row(unsigned row_id) const;
bool well_formed_column(unsigned column_id) const;
@ -238,6 +248,7 @@ namespace simplex {
void display_row(std::ostream& out, row const& r);
bool well_formed() const;
void collect_statistics(::statistics & st) const;
};