-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoutput_utility.cuh
executable file
·46 lines (43 loc) · 1.17 KB
/
output_utility.cuh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <set>
#include <fstream>
#include <string>
#include <sstream>
class OutputCollector {
std::set<DATAPOINT> dp_set;
public:
void add_datapoint(DATAPOINT& datapoint) {
dp_set.insert(datapoint);
}
void saveCsvs(std::string perf_idx_filename,std::string time_idx_filename) {
std::ofstream csvfile;
csvfile.open(perf_idx_filename);
std::set<DATAPOINT>::iterator it;
for (it=dp_set.begin(); it!=std::prev(dp_set.end()); it++)
csvfile << it->perf_idx << ",";
csvfile << it->perf_idx << "\n";
csvfile.close();
csvfile.open(time_idx_filename);
for (it=dp_set.begin(); it!=std::prev(dp_set.end()); it++)
csvfile << it->time_idx << ",";
csvfile << it->time_idx << "\n";
csvfile.close();
}
};
class NormErrorCollector {
std::ostringstream dump_stream;
public:
template<int n_values>
void add_values(float *values) {
for(int i=0; i<n_values; i++) {
dump_stream << values[i] << ",";
}
}
void saveCsv(std::string filename) {
dump_stream.seekp(-1, dump_stream.cur);
dump_stream << "\n";
std::ofstream csvfile;
csvfile.open(filename);
csvfile << dump_stream.str();
csvfile.close();
}
};