⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.h

📁 RSA加密算法的实现 2^1024大的素数实现
💻 H
字号:
// Timer.h
//
////////////////////////////////////////////////////////////

#ifndef _QT_TIMER_H_INCLUDED_
#define _QT_TIMER_H_INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
///////////////////////////////////////////////////////////
#include <windows.h>
//for LARGE_INTEGER, QueryPerformanceCounter()
//and QueryPerformanceFrequency()
///////////////////////////////////////////////////////////

class Timer  
{
private:
  LARGE_INTEGER begin_;
  LARGE_INTEGER end_;
  LARGE_INTEGER counter_;
  bool running_;

public:
  static unsigned long frequency(void)
  {
    LARGE_INTEGER frqc;
    ::QueryPerformanceFrequency(&frqc);
    return frqc.LowPart;
  }
  Timer(void): running_(false)
  {
    begin_.QuadPart = end_.QuadPart = counter_.QuadPart = 0;
  }
  void start(void)
  {
    if(running_ == false)
    {
	    running_ = true;
	    ::QueryPerformanceCounter(&begin_);
    }
  }
  void stop(void)
  {
    if(running_ == true)
    {
	    ::QueryPerformanceCounter(&end_);
	    running_ = false;
	    counter_.QuadPart += end_.QuadPart - begin_.QuadPart;
    }
  }
  void reset(void)
  {
	  begin_.QuadPart = end_.QuadPart = counter_.QuadPart = 0;
	  running_ = false;
  }
  double seconds(void) //const
  {
    LARGE_INTEGER frqc;
    ::QueryPerformanceFrequency(&frqc);
    if(running_ == false)
      return counter_.QuadPart / static_cast<double>(frqc.QuadPart);
    ::QueryPerformanceCounter(&end_);
    return counter_.QuadPart + (end_.QuadPart - begin_.QuadPart)
         / static_cast<double>(frqc.QuadPart);
  }
  bool running(void) const
  {
    return running_; 
  }
};//~class Timer

#endif //~ #infdef _QT_TIMER_H_INCLUDED_
//~Timer.h

⌨️ 快捷键说明

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