Signed-off-by: Jens Axboe <axboe@kernel.dk>
void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta)
{
void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta)
{
shared_rand_init(zs, nranges);
zs->theta = theta;
shared_rand_init(zs, nranges);
zs->theta = theta;
-
- for (i = 1; i <= 2; i++)
- zs->zeta2 += pow(1.0 / (double) i, zs->theta);
+ zs->zeta2 = pow(1.0, zs->theta) + pow(0.5, zs->theta);
zipf_load_gen_zeta(zs);
}
unsigned long long zipf_next(struct zipf_state *zs)
{
zipf_load_gen_zeta(zs);
}
unsigned long long zipf_next(struct zipf_state *zs)
{
double alpha, eta, rand_uni, rand_z;
unsigned long long n = zs->nranges;
unsigned long long val;
double alpha, eta, rand_uni, rand_z;
unsigned long long n = zs->nranges;
unsigned long long val;