zipf: cleanup
[fio.git] / lib / zipf.h
CommitLineData
e25839d4
JA
1#ifndef FIO_ZIPF_H
2#define FIO_ZIPF_H
3
b83da9b5 4#include <inttypes.h>
e25839d4
JA
5#include "rand.h"
6
7struct zipf_state {
8 uint64_t nranges;
9 double theta;
10 double zeta2;
11 double zetan;
925fee33 12 double pareto_pow;
e25839d4 13 struct frand_state rand;
b2b0b753 14 unsigned long rand_off;
e25839d4
JA
15};
16
17void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta);
18unsigned long long zipf_next(struct zipf_state *zs);
19
925fee33
JA
20void pareto_init(struct zipf_state *zs, unsigned long nranges, double h);
21unsigned long long pareto_next(struct zipf_state *zs);
22
e25839d4 23#endif