6#include <boost/serialization/export.hpp>
7#include <boost/archive/binary_oarchive.hpp>
8#include <boost/archive/binary_iarchive.hpp>
9BOOST_CLASS_EXPORT_IMPLEMENT(
Timer)
79 cdf =
static_cast<double>(rand()) /
static_cast<double>(RAND_MAX);
104 double t_lower, t_upper, h, tmean, sum;
105 double t1, t2, s0, s1, s2;
112 if (_upper > 0.999999) { _upper = 0.999999; }
116 h = (t_upper - t_lower) / (2 * (
double) m);
118 for (j = 0; j != m - 1; j++) {
119 t1 = t_lower + (2.0 * j + 1.0) * h;
120 t2 = t_lower + 2 * h * (j + 1.0);
124 s1 += (t_lower + h * (2.0 * (m - 1.0) + 1)) * this->
calculateWeibull_pdf(t_lower + h * (2.0 * (m - 1.0) + 1));
125 sum = h * (s0 + 4.0 * s1 + 2.0 * s2) / 3.0;
126 tmean = sum / (_upper - _lower);
133 double t_lower, t_upper, h, tmean, sum;
134 double t1, t2, s0, s1, s2;
143 h = (t_upper - t_lower) / (2 * (
double) m);
145 for (j = 0; j != m - 1; j++) {
146 t1 = t_lower + (2.0 * j + 1.0) * h;
147 t2 = t_lower + 2 * h * (j + 1.0);
151 s1 += (t_lower + h * (2.0 * (m - 1.0) + 1)) * this->
calculateWeibull_pdf(t_lower + h * (2.0 * (m - 1.0) + 1));
152 sum = h * (s0 + 4.0 * s1 + 2.0 * s2) / 3.0;
void saveTimerToFile(std::ofstream &)
void setBothTotalTimeRequiredAndRemainingTime(double)
void retrieveTimerFromFile(std::ifstream &)
void setTimeAtDemand(double)
void setRemainingTime(double)
int getNumberOfIntervalsPassed() const
double total_time_required
double calculateWeibull_pdf(double)
double calculateRequiredTime()
double getTotalTimeRequired()
double getRemainingTime()
double getTimeAtDemand() const
void setT_Minimum(double)
void setNumberOfIntervalsPassed(int)
double calculateMeanRequiredTime()
void setBeta_Weibull(double)
void setAlpha_Weibull(double)
void setTotalTimeRequired(double)
int number_of_intervals_passed
double reduceRemainingTime(double)
int getNumberOfIntervals() const
bool checkIfIsIdenticalTimer(Timer &)
double getAlpha_Weibull()
void setNumberOfIntervals(int)
bool log
Enable/disable rank-specific logging.