Closed pitdicker closed 6 years ago
I agree for the most part. Possibly AVX extensions will allow generation of larger integers, but it's still questionable whether next_u128
will be useful. Lets remove for now, and consider adding in the future only if someone has a good use-case.
Side-note: looks like I completely messed up CI with my last merge :/
I don't think
next_u128
is going to be all useful.For small RNG's It is going to be difficult to get much faster on 64-bit architectures than generating two
u64
s. For cryptographic RNGs that generate values in blocks the performance overhead of reading twou64
from the buffered results instead of oneu128
directly should be tiny.If we start using something like SIMD or the GPU to generate random numbers we could generate more than 64 bits at a time efficiently, but is the
i128
type then the best interface? Or is it then better to work with arrays, like the proposedBlockRng
?Generating
u128
s is not useful for floats, one of the big uses of random numbers. And the uses ofu128
s are not that many either.