|
@@ -54,36 +54,32 @@ ProgressBarQt::~ProgressBarQt()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-void ProgressBarQt::timediff2str(char *text, long time)
|
|
|
+void ProgressBarQt::timediff2str(char *text, double dtime)
|
|
|
{
|
|
|
- int seconds;
|
|
|
+ int time = int (dtime / 60);
|
|
|
+ double seconds = dtime - time*60;
|
|
|
int minutes;
|
|
|
int hours;
|
|
|
- int milliseconds;
|
|
|
|
|
|
- milliseconds = time % 100;
|
|
|
- time /= 100;
|
|
|
- seconds = time % 60;
|
|
|
- time /= 60;
|
|
|
minutes = time % 60;
|
|
|
time /= 60;
|
|
|
hours = time;
|
|
|
|
|
|
if (hours != 0)
|
|
|
{
|
|
|
- sprintf(text, "%dh %dm %d.%d s", hours, minutes, seconds, milliseconds);
|
|
|
+ sprintf(text, "%dh %dm %5.2fs", hours, minutes, seconds);
|
|
|
}
|
|
|
else if (minutes != 0)
|
|
|
{
|
|
|
- sprintf(text, "%dm %d.%d s", minutes, seconds, milliseconds);
|
|
|
+ sprintf(text, "%dm %5.2fs", minutes, seconds);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- sprintf(text, "%d.%d s", seconds, milliseconds);
|
|
|
+ sprintf(text, "%fs", seconds);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void ProgressBarQt::displayTimeStat(int posy, char *text, long time)
|
|
|
+void ProgressBarQt::displayTimeStat(int posy, char *text, double time)
|
|
|
{
|
|
|
// Text (char *str,int x0,int y0,int val,int exp,Image img);
|
|
|
char disptext[200];
|
|
@@ -100,7 +96,8 @@ double ProgressBarQt::getCurrentTime()
|
|
|
|
|
|
gettimeofday(&curtime, NULL);
|
|
|
|
|
|
- return curtime.tv_sec * 100.0 + curtime.tv_usec / 10000.0;
|
|
|
+ //return curtime.tv_sec * 100.0 + curtime.tv_usec / 10000.0;
|
|
|
+ return curtime.tv_sec + curtime.tv_usec * 1e-6;
|
|
|
}
|
|
|
|
|
|
void ProgressBarQt::show()
|
|
@@ -124,7 +121,6 @@ void ProgressBarQt::hide()
|
|
|
|
|
|
if (display_on)
|
|
|
{
|
|
|
- // Show ( OFF, display, name );
|
|
|
display_on = false;
|
|
|
}
|
|
|
if (graphicIsAvailable())
|
|
@@ -159,26 +155,26 @@ void ProgressBarQt::update(int count)
|
|
|
estimated_time = (count - step) * avg_time_step;
|
|
|
|
|
|
size_t mod;
|
|
|
- if (avg_time_step > 50.0)
|
|
|
+ if (avg_time_step > 1.0)
|
|
|
mod = 1;
|
|
|
else
|
|
|
- mod = (size_t) (50.0 / avg_time_step) + 1;
|
|
|
+ mod = (size_t) (1.0 / avg_time_step) + 1;
|
|
|
|
|
|
if ((mod <= 1) || (step % mod == 0))
|
|
|
{
|
|
|
char percent_text[10];
|
|
|
sprintf(percent_text, "%4.2f %%", step * 100.0 / count);
|
|
|
|
|
|
- displayTimeStat(0, "Elapsed Time : ", (long int) elapsed_time);
|
|
|
- displayTimeStat(1, "Estimated Time : ", (long int) estimated_time);
|
|
|
- displayTimeStat(2, "Avg. Time per step : ", (long int) avg_time_step);
|
|
|
+ displayTimeStat(0, "Elapsed Time : ", elapsed_time);
|
|
|
+ displayTimeStat(1, "Estimated Time : ", estimated_time);
|
|
|
+ displayTimeStat(2, "Avg. Time per step : ", avg_time_step);
|
|
|
|
|
|
char eltime[200];
|
|
|
char estime[200];
|
|
|
char avgtime[200];
|
|
|
- timediff2str(eltime, (long int) elapsed_time);
|
|
|
- timediff2str(estime, (long int) estimated_time);
|
|
|
- timediff2str(avgtime, (long int) avg_time_step);
|
|
|
+ timediff2str(eltime, elapsed_time);
|
|
|
+ timediff2str(estime, estimated_time);
|
|
|
+ timediff2str(avgtime, avg_time_step);
|
|
|
fprintf(
|
|
|
stderr,
|
|
|
"[PROGRESS] %s %s (elapsed time %s, estimated time %s, avg %s), \n",
|