Home | History | Annotate | Download | only in lib
      1 #ifndef FIO_ZIPF_H
      2 #define FIO_ZIPF_H
      3 
      4 #include <inttypes.h>
      5 #include "rand.h"
      6 
      7 struct 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 
     17 void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta, unsigned int seed);
     18 unsigned long long zipf_next(struct zipf_state *zs);
     19 
     20 void pareto_init(struct zipf_state *zs, unsigned long nranges, double h, unsigned int seed);
     21 unsigned long long pareto_next(struct zipf_state *zs);
     22 
     23 #endif
     24