-
Notifications
You must be signed in to change notification settings - Fork 2
/
utils.cpp
37 lines (31 loc) · 959 Bytes
/
utils.cpp
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
#pragma once
#include "utils.h"
#include <sstream>
#include <numeric>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iostream>
std::chrono::time_point<chronoclock> startTimer() {
return chronoclock::now();
}
long long endtimer(std::chrono::time_point<chronoclock> tp) {
return std::chrono::duration_cast<std::chrono::nanoseconds>(chronoclock::now() - tp).count();
}
std::string printSome(int32_t* data, size_t length) {
std::vector<int> a;
a.resize(std::min(length, (size_t)10));
std::iota(a.begin(), a.end() - 2, 0);
*(a.end() - 2) = length / (size_t)2;
*(a.end() - 1) = length - (size_t)1;
std::stringstream ss;
for (const int& i : a) {
ss << "[" << std::to_string(i) << "] " << std::to_string(data[i]) << ", ";
}
return ss.str().substr(0, ss.str().length() - 2);
}
std::wstring toWide(const std::string& str) {
std::wstring str2(str.length(), L' ');
std::copy(str.begin(), str.end(), str2.begin());
return str2;
}