zipf/pareto/gauss: add option to disable hashing
[fio.git] / lib / zipf.h
index 6578ef1c008a88e26397e966fea691e53e83df4b..af2d0e645c1e462df12190d9669bf5ebf18593d9 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef FIO_ZIPF_H
 #define FIO_ZIPF_H
 
+#include <inttypes.h>
 #include "rand.h"
 
 struct zipf_state {
@@ -8,10 +9,17 @@ struct zipf_state {
        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, unsigned long nranges, double theta);
+void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta, unsigned int seed);
 unsigned long long zipf_next(struct zipf_state *zs);
 
+void pareto_init(struct zipf_state *zs, unsigned long nranges, double h, unsigned int seed);
+unsigned long long pareto_next(struct zipf_state *zs);
+void zipf_disable_hash(struct zipf_state *zs);
+
 #endif