1
Fork 0

std::rand::reader: describe cfg!(endianness).

This commit is contained in:
Huon Wilson 2013-10-09 02:13:34 +11:00
parent 38732c4b5c
commit 649c1759e8

View file

@ -47,6 +47,9 @@ impl<R: Reader> ReaderRng<R> {
impl<R: Reader> Rng for ReaderRng<R> { impl<R: Reader> Rng for ReaderRng<R> {
fn next_u32(&mut self) -> u32 { fn next_u32(&mut self) -> u32 {
// This is designed for speed: reading a LE integer on a LE
// platform just involves blitting the bytes into the memory
// of the u32, similarly for BE on BE; avoiding byteswapping.
if cfg!(target_endian="little") { if cfg!(target_endian="little") {
self.reader.read_le_u32_() self.reader.read_le_u32_()
} else { } else {
@ -54,6 +57,7 @@ impl<R: Reader> Rng for ReaderRng<R> {
} }
} }
fn next_u64(&mut self) -> u64 { fn next_u64(&mut self) -> u64 {
// see above for explanation.
if cfg!(target_endian="little") { if cfg!(target_endian="little") {
self.reader.read_le_u64_() self.reader.read_le_u64_()
} else { } else {