1#ifndef FIO_ZIPF_H
2#define FIO_ZIPF_H
3
4#include <inttypes.h>
5#include "rand.h"
6
7struct zipf_state {
8	uint64_t nranges;
9	double theta;
10	double zeta2;
11	double zetan;
12	double pareto_pow;
13	struct frand_state rand;
14	uint64_t rand_off;
15};
16
17void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta, unsigned int seed);
18unsigned long long zipf_next(struct zipf_state *zs);
19
20void pareto_init(struct zipf_state *zs, unsigned long nranges, double h, unsigned int seed);
21unsigned long long pareto_next(struct zipf_state *zs);
22
23#endif
24