*/
#include "rand.h"
+#include "../hash.h"
struct frand_state __fio_rand_state;
__rand(state);
__rand(state);
}
+
+void __fill_random_buf(void *buf, unsigned int len, unsigned long seed)
+{
+ long *ptr = buf;
+
+ while ((void *) ptr - buf < len) {
+ *ptr = seed;
+ ptr++;
+ seed *= GOLDEN_RATIO_PRIME;
+ seed >>= 3;
+ }
+}
+
+unsigned long fill_random_buf(void *buf, unsigned int len)
+{
+ unsigned long r = __rand(&__fio_rand_state);
+
+ if (sizeof(int) != sizeof(long *))
+ r *= (unsigned long) __rand(&__fio_rand_state);
+
+ __fill_random_buf(buf, len, r);
+ return r;
+}