]>
git.proxmox.com Git - mirror_iproute2.git/blob - netem/stats.c
2 * Experimental data distribution table generator
3 * Taken from the uncopyrighted NISTnet code (public domain).
5 * Rread in a series of "random" data values, either
6 * experimentally or generated from some probability distribution.
7 * From this, report statistics.
14 #include <sys/types.h>
24 double mu
=0.0, sigma
=0.0, sumsquare
=0.0, sum
=0.0, top
=0.0, rho
=0.0;
27 fstat(fileno(fp
), &info
);
28 if (info
.st_size
> 0) {
29 limit
= 2*info
.st_size
/sizeof(double); /* @@ approximate */
33 x
= (double *)malloc(limit
*sizeof(double));
35 for (i
=0; i
<limit
; ++i
){
36 fscanf(fp
, "%lf", &x
[i
]);
39 sumsquare
+= x
[i
]*x
[i
];
44 sigma
= sqrt((sumsquare
- (double)n
*mu
*mu
)/(double)(n
-1));
46 for (i
=1; i
< n
; ++i
){
47 top
+= ((double)x
[i
]-mu
)*((double)x
[i
-1]-mu
);
48 sigma2
+= ((double)x
[i
-1] - mu
)*((double)x
[i
-1] - mu
);
53 printf("mu = %12.6f\n", mu
);
54 printf("sigma = %12.6f\n", sigma
);
55 printf("rho = %12.6f\n", rho
);
56 /*printf("sigma2 = %10.4f\n", sqrt(sigma2/(double)(n-1)));*/
57 /*printf("correlation rho = %10.6f\n", top/((double)(n-1)*sigma*sigma));*/
62 main(int argc
, char **argv
)
67 fp
= fopen(argv
[1], "r");