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
via next_u64
and next_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
via fill_bytes
, little-endian order.Implement
next_u64
via fill_bytes
, little-endian order.Implement
next_u64
via next_u32
, little-endian order.