Add sample zipf distribution randomizer
[fio.git] / lib / zipf.h
diff --git a/lib/zipf.h b/lib/zipf.h
new file mode 100644 (file)
index 0000000..6578ef1
--- /dev/null
@@ -0,0 +1,17 @@
+#ifndef FIO_ZIPF_H
+#define FIO_ZIPF_H
+
+#include "rand.h"
+
+struct zipf_state {
+       uint64_t nranges;
+       double theta;
+       double zeta2;
+       double zetan;
+       struct frand_state rand;
+};
+
+void zipf_init(struct zipf_state *zs, unsigned long nranges, double theta);
+unsigned long long zipf_next(struct zipf_state *zs);
+
+#endif