timer.h

来自「Conditional Random Fields的训练识别工具」· C头文件 代码 · 共 76 行

H
76
字号
/*  CRF++ -- Yet Another CRF toolkit  $Id: timer.h 1528 2006-08-07 02:39:50Z taku $;  Copyright(C) 2005 Taku Kudo <taku@chasen.org>  This is free software with ABSOLUTELY NO WARRANTY.  This library is free software; you can redistribute it and/or  modify it under the terms of the GNU Lesser General Public  License as published by the Free Software Foundation; either  version 2.1 of the License, or(at your option) any later version.  This library 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  Lesser General Public License for more details.  You should have received a copy of the GNU Lesser General Public  License along with this library; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#ifndef _CRFPP_TIMER_H#define _CRFPP_TIMER_H#include <ctime>#include <iostream>#include <string>#include <limits>/* COPY FROM Boost::timer */namespace CRFPP {  class timer {  public:    explicit timer() { start_time_ = std::clock(); }    void   restart() { start_time_ = std::clock(); }    double elapsed() const      { return  double(std::clock() - start_time_) / CLOCKS_PER_SEC; }    double elapsed_max() const      {        return(double(std::numeric_limits<std::clock_t>::max())               - double(start_time_)) / double(CLOCKS_PER_SEC);      }    double elapsed_min() const      { return double(1)/double(CLOCKS_PER_SEC); }  private:    std::clock_t start_time_;  };  class progress_timer : public timer {  public:    explicit progress_timer( std::ostream & os = std::cout ) : os_(os) {}    ~progress_timer()      {        std::istream::fmtflags old_flags = os_.setf( std::istream::fixed,                                                     std::istream::floatfield );        std::streamsize old_prec = os_.precision( 2 );        os_ << elapsed() << " s\n" << std::endl;        os_.flags( old_flags );        os_.precision( old_prec );      }  private:    std::ostream & os_;  };}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?