32 lines
668 B
C++
32 lines
668 B
C++
#ifndef NXS_REPORT_H
|
|
#define NXS_REPORT_H
|
|
|
|
#include <iostream>
|
|
using namespace std;
|
|
|
|
#include "stopwatch.h"
|
|
|
|
class Report {
|
|
public:
|
|
void Start(unsigned int tot, unsigned int st) {
|
|
total = tot;
|
|
step = st;
|
|
watch.Restart();
|
|
}
|
|
void Output(unsigned int count) {
|
|
if((count%step) != 0) return;
|
|
float r = 100.0 * count/total;
|
|
float t = watch.Elapsed();
|
|
cout << r << "% in " << t << "s -> " << count/t << "n/s\n";
|
|
}
|
|
double Elapsed() {
|
|
return watch.Elapsed();
|
|
}
|
|
private:
|
|
StopWatch watch;
|
|
unsigned int total; //when finished
|
|
unsigned int step; //check once every step
|
|
};
|
|
|
|
#endif
|