1 /* 2 * Pareto distribution table generator 3 * Taken from the uncopyrighted NISTnet code. 4 */ 5 #include <stdio.h> 6 #include <stdlib.h> 7 #include <math.h> 8 #include <limits.h> 9 10 #include <linux/types.h> 11 #include <linux/pkt_sched.h> 12 13 static const double a=3.0; 14 #define TABLESIZE 16384 15 #define TABLEFACTOR NETEM_DIST_SCALE 16 17 int main(int argc,char ** argv)18main(int argc, char **argv) 19 { 20 int i, n; 21 double dvalue; 22 23 printf("# This is the distribution table for the pareto distribution.\n"); 24 25 for (i = 65536, n = 0; i > 0; i -= 16) { 26 dvalue = (double)i/(double)65536; 27 dvalue = 1.0/pow(dvalue, 1.0/a); 28 dvalue -= 1.5; 29 dvalue *= (4.0/3.0)*(double)TABLEFACTOR; 30 if (dvalue > 32767) 31 dvalue = 32767; 32 33 printf(" %d", (int)rint(dvalue)); 34 if (++n == 8) { 35 putchar('\n'); 36 n = 0; 37 } 38 } 39 40 return 0; 41 } 42