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
13static const double a=3.0;
14#define TABLESIZE	16384
15#define TABLEFACTOR	NETEM_DIST_SCALE
16
17int
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