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

📄 aftimer.cpp

📁 sleuthit-2.09 一个磁盘的工具集
💻 CPP
字号:
/**************************************************************** *  aftimer object... ****************************************************************/#include "config.h"#include "aftimer.h"#include <stdio.h>aftimer::aftimer(){    used       = false;    running    = false;    total_sec  = 0;    total_usec = 0;    lap_time_  = 0;}time_t aftimer::tstart(){    return t0.tv_sec;}void aftimer::start(){    used = true;    if(!running){	gettimeofday(&t0,NULL);	running = true;    }}void aftimer::stop(){    if(running){	struct timeval t;	gettimeofday(&t,NULL);	total_sec  += t.tv_sec - t0.tv_sec;	total_usec += t.tv_usec - t0.tv_usec;	lap_time_   = (double)(t.tv_sec - t0.tv_sec)  + (double)(t.tv_usec - t0.tv_usec)/1000000.0;	running = false;    }}double aftimer::lap_time(){    return lap_time_;}double aftimer::elapsed_seconds(){    double ret = (double)total_sec + (double)total_usec/1000000.0;    if(running){	struct timeval t;	gettimeofday(&t,NULL);	ret += t.tv_sec - t0.tv_sec;	ret += (t.tv_usec - t0.tv_usec) / 1000000.0;    }    return ret;}char *aftimer::hms(char *buf,long t){    int    h = t / 3600;    int    m = (t / 60) % 60;    int    s = t % 60;    sprintf(buf,"%02d:%02d:%02d",h,m,s);    return buf;}char *aftimer::timer_text(char *buf){    return hms(buf,(int)elapsed_seconds());}char *aftimer::timer_text(){    return timer_text(buf);}double aftimer::eta(double fraction_done){    double t = elapsed_seconds();    if(t==0) return -1;			// can't figure it out    if(fraction_done==0) return -1;	// can't figure it out    return (t * 1.0/fraction_done - t);}char *aftimer::eta_text(char *buf,double fraction_done){    double e = eta(fraction_done);    if(e<0) return "n/a";		// can't figure it out    return hms(buf,(long)e);}char *aftimer::eta_text(double fraction_done){    return eta_text(buf,fraction_done);}

⌨️ 快捷键说明

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