summaryrefslogtreecommitdiff
path: root/src/theory/arith/theory_arith.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/arith/theory_arith.h')
-rw-r--r--src/theory/arith/theory_arith.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/theory/arith/theory_arith.h b/src/theory/arith/theory_arith.h
index fb39eac09..3ff83abdf 100644
--- a/src/theory/arith/theory_arith.h
+++ b/src/theory/arith/theory_arith.h
@@ -122,6 +122,27 @@ private:
*/
Tableau d_tableau;
+ /**
+ * A copy of the tableau immediately after removing variables
+ * without bounds in presolve().
+ */
+ Tableau d_initialTableau;
+
+ /** Counts the number of notifyRestart() calls to the theory. */
+ uint32_t d_restartsCounter;
+
+ /**
+ * Every number of restarts equal to s_TABLEAU_RESET_PERIOD,
+ * the density of the tableau, d, is computed.
+ * If d >= s_TABLEAU_RESET_DENSITY * d_initialDensity, the tableau
+ * is set to d_initialTableau.
+ */
+ double d_initialDensity;
+ double d_tableauResetDensity;
+ uint32_t d_tableauResetPeriod;
+ static const uint32_t s_TABLEAU_RESET_INCREMENT = 5;
+
+
ArithUnatePropagator d_propagator;
SimplexDecisionProcedure d_simplex;
@@ -215,6 +236,12 @@ private:
IntStat d_permanentlyRemovedVariables;
TimerStat d_presolveTime;
+
+ BackedStat<double> d_initialTableauDensity;
+ AverageStat d_avgTableauDensityAtRestart;
+ IntStat d_tableauResets;
+ TimerStat d_restartTimer;
+
Statistics();
~Statistics();
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback