Expand description
Helper functions for implementing RngCore
functions.
For cross-platform reproducibility, these functions all use Little Endian:
least-significant part first. For example, next_u64_via_u32
takes u32
values x, y
, then outputs (y << 32) | x
. To implement next_u32
from next_u64
in little-endian order, one should use next_u64() as u32
.
Byte-swapping (like the std to_le
functions) is only needed to convert
to/from byte sequences, and since its purpose is reproducibility,
non-reproducible sources (e.g. OsRng
) need not bother with it.
Functions
- Implement
fill_bytes
vianext_u64
andnext_u32
, little-endian order. - Implement
fill_bytes
by reading chunks from the output buffer of a block based RNG. - Implement
fill_bytes
by reading chunks from the output buffer of a block based RNG. - Implement
next_u32
viafill_bytes
, little-endian order. - Implement
next_u64
viafill_bytes
, little-endian order. - Implement
next_u64
vianext_u32
, little-endian order.