diff options
author | Tim King <taking@cs.nyu.edu> | 2010-10-30 19:18:36 +0000 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2010-10-30 19:18:36 +0000 |
commit | 29f5a9be53b572d2369d70947942563825c2fa27 (patch) | |
tree | d2c579867aade669bb6b1fef03fbdc005c538c7d /src/theory/arith/tableau.h | |
parent | b3ce68e7803dcb868004155b6d61a88a8dbe6c6f (diff) |
Adds a hueristic from Alberto's thesis. For a fixed window the row count is used to select which non-basic variable is a row in made basic.
Diffstat (limited to 'src/theory/arith/tableau.h')
-rw-r--r-- | src/theory/arith/tableau.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/theory/arith/tableau.h b/src/theory/arith/tableau.h index 758e5d92d..5e34ac1a2 100644 --- a/src/theory/arith/tableau.h +++ b/src/theory/arith/tableau.h @@ -97,6 +97,8 @@ private: ActivityMonitor& d_activityMonitor; ArithVarDenseSet& d_basicManager; + std::vector<uint32_t> d_rowCount; + public: /** * Constructs an empty tableau. @@ -111,6 +113,7 @@ public: void increaseSize(){ d_activeBasicVars.increaseSize(); d_rowsTable.push_back(NULL); + d_rowCount.push_back(0); } ArithVarSet::iterator begin(){ @@ -133,6 +136,11 @@ private: } public: + uint32_t getRowCount(ArithVar x){ + Assert(x < d_rowCount.size()); + return d_rowCount[x]; + } + void addRow(ArithVar basicVar, const std::vector<Rational>& coeffs, const std::vector<ArithVar>& variables); |