/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to pcitool/formaters.c

  • Committer: Suren A. Chilingaryan
  • Date: 2011-12-13 21:21:24 UTC
  • Revision ID: csa@dside.dyndns.org-20111213212124-ja6i09tkd03m359l
Do event counting when rawcallback is used to stream the data

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}