Go to the source code of this file.
|
| double | do_stats (long long *array, long long *min, long long *max, double *average) |
| |
| void | do_std_dev (long long *a, int *s, double std, double ave) |
| |
| void | do_dist (long long *a, long long min, long long max, int bins, int *d) |
| |
| static int | cmpfunc (const void *a, const void *b) |
| |
| int | do_percentile (long long *a, long long *percent25, long long *percent50, long long *percent75, long long *percent99) |
| |
◆ NUM_ITERS
| #define NUM_ITERS 1000000 |
◆ cmpfunc()
| static int cmpfunc |
( |
const void * |
a, |
|
|
const void * |
b |
|
) |
| |
|
static |
Definition at line 82 of file cost_utils.c.
82 {
83
84 if ( *(
long long *)
a - *(
long long *)
b < 0 ) {
85 return -1;
86 }
87
88 if ( *(
long long int*)
a - *(
long long int*)
b > 0 ) {
89 return 1;
90 }
91
92 return 0;
93}
static double a[MATRIX_SIZE][MATRIX_SIZE]
static double b[MATRIX_SIZE][MATRIX_SIZE]
◆ do_dist()
Definition at line 56 of file cost_utils.c.
57{
59 int dmax = 0;
60 int range = (
int ) ( max -
min + 1 );
61
62
63 for (
i = 0;
i < bins;
i++ ) {
65 }
66
67
69 j = ( (
int ) (
a[
i] -
min ) * bins ) / range;
70 d[j]++;
71 if ( j && ( dmax < d[j] ) )
72 dmax = d[j];
73 }
74
75
76 for (
i = 1;
i < bins;
i++ ) {
77 d[
i] = ( d[
i] * 100 ) / dmax;
78 }
79}
◆ do_percentile()
Definition at line 96 of file cost_utils.c.
100 {
101
102 long long *a_sort;
103 int i_25,i_50,i_75,i_99;
104
105
106 a_sort = calloc(
num_iters,
sizeof(
long long));
107 if (a_sort==NULL) {
108 fprintf(
stderr,
"Memory allocation error!\n");
109 return -1;
110 }
111
112
114
115
118
119
122
124
125 *percent25=a_sort[i_25];
126 *percent50=a_sort[i_50];
127 *percent75=a_sort[i_75];
128 *percent99=a_sort[i_99];
129
130 free(a_sort);
131
132 return 0;
133}
static int cmpfunc(const void *a, const void *b)
◆ do_stats()
Definition at line 12 of file cost_utils.c.
13{
16
18 *average = 0;
20 *average += ( double )
array[
i];
25 }
26 *average = *average / ( double )
num_iters;
27 std = 0;
31 }
33 return ( std );
34}
static double array[ARRAYSIZE]
◆ do_std_dev()
| void do_std_dev |
( |
long long * |
a, |
|
|
int * |
s, |
|
|
double |
std, |
|
|
double |
ave |
|
) |
| |
Definition at line 37 of file cost_utils.c.
38{
40 double dev[10];
41
42 for (
i = 0;
i < 10;
i++ ) {
43 dev[
i] = std * (
i + 1 );
45 }
46
48 for ( j = 0; j < 10; j++ ) {
49 if ( ( (
double )
a[
i] - dev[j] ) > ave )
51 }
52 }
53}
◆ num_iters