It would be simple to write a seedable PRNG as a rayon Producer, at least with LCGs that support efficient skipping. Any user that does not care about determinism should probably stick with rand::thread_rng, which shouldn't have any concurrency bottlenecks.
A basic implementation would only emit u32s, but users may want other types or distributions, and incorporating those into the API would be more complicated.
It would be simple to write a seedable PRNG as a rayon Producer, at least with LCGs that support efficient skipping. Any user that does not care about determinism should probably stick with
rand::thread_rng
, which shouldn't have any concurrency bottlenecks.A basic implementation would only emit
u32
s, but users may want other types or distributions, and incorporating those into the API would be more complicated.