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