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