diff options
Diffstat (limited to 'src/theory/arith/theory_arith.h')
-rw-r--r-- | src/theory/arith/theory_arith.h | 27 |
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(); }; |