Struct tokio_stream::stream_map::rand::FastRand
source · pub(crate) struct FastRand {
one: Cell<u32>,
two: Cell<u32>,
}
Expand description
Fast random number generate
Implement xorshift64+
: 2 32-bit xorshift
sequences added together.
Shift triplet [17,7,16]
was calculated as indicated in Marsaglia’s
Xorshift
paper: https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf
This generator passes the SmallCrush suite, part of TestU01 framework:
http://simul.iro.umontreal.ca/testu01/tu01.html
Fields§
§one: Cell<u32>
§two: Cell<u32>
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for FastRand
impl !RefUnwindSafe for FastRand
impl Send for FastRand
impl !Sync for FastRand
impl Unpin for FastRand
impl UnwindSafe for FastRand
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more