bzr branch
http://suren.me/webbzr/alps/pcitool
146
by Suren A. Chilingaryan
Do event counting when rawcallback is used to stream the data |
1 |
#include <stdio.h> |
2 |
||
3 |
void PrintTime(size_t duration) { |
|
4 |
if (duration > 999999999999) printf("%4.1lf""d", 1.*duration/86400000000); |
|
5 |
else if (duration > 99999999999) printf("%4.1lf""h", 1.*duration/3600000000); |
|
6 |
else if (duration > 9999999999) printf("%4.2lf""h", 1.*duration/3600000000); |
|
7 |
else if (duration > 999999999) printf("%4.1lf""m", 1.*duration/60000000); |
|
8 |
else if (duration > 99999999) printf("%4.2lf""m", 1.*duration/60000000); |
|
9 |
else if (duration > 9999999) printf("%4.1lf""s", 1.*duration/1000000); |
|
10 |
else if (duration > 999999) printf("%4.2lf""s", 1.*duration/1000000); |
|
11 |
else if (duration > 999) printf("%3lu""ms", duration/1000); |
|
12 |
else printf("%3lu""us", duration); |
|
13 |
}
|
|
14 |
||
15 |
void PrintNumber(size_t num) { |
|
16 |
if (num > 999999999999999999) printf("%3lue", num/1000000000000000000); |
|
17 |
else if (num > 999999999999999) printf("%3lup", num/1000000000000000); |
|
18 |
else if (num > 999999999999) printf("%3lut", num/1000000000000); |
|
19 |
else if (num > 999999999) printf("%3lug", num/1000000000); |
|
20 |
else if (num > 999999) printf("%3lum", num/1000000); |
|
21 |
else if (num > 9999) printf("%3luk", num/1000); |
|
22 |
else printf("%4lu", num); |
|
23 |
}
|
|
24 |
||
25 |
void PrintSize(size_t num) { |
|
26 |
if (num >= 112589990684263) printf("%4.1lf PB", 1.*num/1125899906842624); |
|
27 |
else if (num >= 109951162778) printf("%4.1lf TB", 1.*num/1099511627776); |
|
28 |
else if (num >= 107374183) printf("%4.1lf GB", 1.*num/1073741824); |
|
29 |
else if (num >= 1048576) printf("%4lu MB", num/1048576); |
|
30 |
else if (num >= 1024) printf("%4lu KB", num/1024); |
|
31 |
else printf("%5lu B", num); |
|
32 |
}
|
|
33 |
||
34 |
void PrintPercent(size_t num, size_t total) { |
|
35 |
if (num >= total) printf(" 100"); |
|
36 |
else printf("%4.1lf", 100.*num/total); |
|
37 |
||
38 |
}
|
|
39 |
||
40 |
char *GetPrintSize(char *str, size_t size) { |
|
41 |
if (size >= 1073741824) sprintf(str, "%.1lf GB", 1.*size / 1073741824); |
|
42 |
else if (size >= 1048576) sprintf(str, "%.1lf MB", 1.*size / 1048576); |
|
43 |
else if (size >= 1024) sprintf(str, "%lu KB", size / 1024); |
|
44 |
else sprintf(str, "%lu B ", size); |
|
45 |
||
46 |
return str; |
|
47 |
}
|