-
-///////////////////////////////////////////////////////////////////////////
-// This program is free software: you can redistribute it and/or modify //
-// it under the terms of the version 3 of the GNU General Public License //
-// as published by the Free Software Foundation. //
-// //
-// This program is distributed in the hope that it will be useful, but //
-// WITHOUT ANY WARRANTY; without even the implied warranty of //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-// General Public License for more details. //
-// //
-// You should have received a copy of the GNU General Public License //
-// along with this program. If not, see <http://www.gnu.org/licenses/>. //
-// //
-// Written by Francois Fleuret //
-// (C) Idiap Research Institute //
-// //
-// Contact <francois.fleuret@idiap.ch> for comments & bug reports //
-///////////////////////////////////////////////////////////////////////////
+/*
+ * folded-ctf is an implementation of the folded hierarchy of
+ * classifiers for object detection, developed by Francois Fleuret
+ * and Donald Geman.
+ *
+ * Copyright (c) 2008 Idiap Research Institute, http://www.idiap.ch/
+ * Written by Francois Fleuret <francois.fleuret@idiap.ch>
+ *
+ * This file is part of folded-ctf.
+ *
+ * folded-ctf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * folded-ctf is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with folded-ctf. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
#include <time.h>
#include "progress_bar.h"
-const int ProgressBar::_width = 80;
-
ProgressBar::ProgressBar() : _visible(false), _value_max(-1) { }
void ProgressBar::set_visible(bool visible) {
int step = int((value * 40) / _value_max);
if(1 || step > _last_step) {
- char buffer[_width + 1], date_buffer[buffer_size];
+ char buffer[width + 1], date_buffer[buffer_size];
int i, j;
j = sprintf(buffer, "Timer: ");
time(¤t);
current += rt;
strftime(date_buffer, buffer_size, "%a %b %e %H:%M", localtime(¤t));
- j += snprintf(buffer + j, _width - j - 1, " (end ~ %s)", date_buffer);
+ j += snprintf(buffer + j, width - j - 1, " (end ~ %s)", date_buffer);
} else {
int hours = rt/3600, min = (rt%3600)/60, sec = rt%60;
if(hours > 0)
- j += snprintf(buffer + j, _width - j - 1, " (~%dh%dmin left)", hours, min);
+ j += snprintf(buffer + j, width - j - 1, " (~%dh%dmin left)", hours, min);
else if(min > 0)
- j += snprintf(buffer + j, _width - j - 1, " (~%dmin%ds left)", min, sec);
+ j += snprintf(buffer + j, width - j - 1, " (~%dmin%ds left)", min, sec);
else
- j += snprintf(buffer + j, _width - j - 1, " (~%ds left)", sec);
+ j += snprintf(buffer + j, width - j - 1, " (~%ds left)", sec);
}
}
- for(; j < _width; j++) buffer[j] = ' ';
+ for(; j < width; j++) buffer[j] = ' ';
buffer[j] = '\0';
(*out) << buffer << "\r";
out->flush();
void ProgressBar::finish(ostream *out) {
if(_visible) {
- char buffer[_width + 1];
+ char buffer[width + 1];
int j;
time_t current_time; time(¤t_time);
int rt = int(current_time - _initial_time);
int min = rt/60, sec = rt%60;
j = sprintf(buffer, "Timer: Total %dmin%ds", min, sec);
- for(; j < _width; j++) buffer[j] = ' ';
+ for(; j < width; j++) buffer[j] = ' ';
buffer[j] = '\0';
(*out) << buffer << endl;
out->flush();