zipf/pareto/gauss: add option to disable hashing
[fio.git] / lib / zipf.h
... / ...
CommitLineData
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 bool disable_hash;
16};
17
18void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta, unsigned int seed);
19unsigned long long zipf_next(struct zipf_state *zs);
20
21void pareto_init(struct zipf_state *zs, unsigned long nranges, double h, unsigned int seed);
22unsigned long long pareto_next(struct zipf_state *zs);
23void zipf_disable_hash(struct zipf_state *zs);
24
25#endif