X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=folded-ctf.git;a=blobdiff_plain;f=progress_bar.cc;h=e9b8de9395388699a7616740e01c697f131c8a87;hp=67370a95aa0c312cde4d56494bf15751dd70c9f0;hb=HEAD;hpb=20ec321944108cd1fe74b37ea45db3ba1a2d526a diff --git a/progress_bar.cc b/progress_bar.cc index 67370a9..e9b8de9 100644 --- a/progress_bar.cc +++ b/progress_bar.cc @@ -1,28 +1,30 @@ - -/////////////////////////////////////////////////////////////////////////// -// 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 . // -// // -// Written by Francois Fleuret // -// (C) Idiap Research Institute // -// // -// Contact 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 + * + * 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 . + * + */ #include #include "progress_bar.h" -const int ProgressBar::_width = 80; - ProgressBar::ProgressBar() : _visible(false), _value_max(-1) { } void ProgressBar::set_visible(bool visible) { @@ -41,7 +43,7 @@ void ProgressBar::refresh(ostream *out, scalar_t value) { 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: "); @@ -58,19 +60,19 @@ void ProgressBar::refresh(ostream *out, scalar_t value) { 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(); @@ -81,13 +83,13 @@ void ProgressBar::refresh(ostream *out, scalar_t value) { 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();