rand.wyrand #
Constants #
const seed_len = 2
struct WyRandRNG #
struct WyRandRNG {
buffer.PRNGBuffer
mut:
state u64 = seed.time_seed_64()
bytes_left int
buffer u64
}
WyRandRNG is a RNG based on the WyHash hashing algorithm.
fn (WyRandRNG) block_size #
fn (mut rng WyRandRNG) block_size() int
block_size returns the number of bits that the RNG can produce in a single iteration.
fn (WyRandRNG) free #
unsafe
fn (mut rng WyRandRNG) free()
free should be called when the generator is no longer needed
fn (WyRandRNG) seed #
fn (mut rng WyRandRNG) seed(seed_data []u32)
seed sets the seed, needs only two u32
s in little-endian format as [lower, higher].
fn (WyRandRNG) u16 #
fn (mut rng WyRandRNG) u16() u16
u16 returns a pseudorandom 16bit int in range [0, 2¹⁶)
.
fn (WyRandRNG) u32 #
fn (mut rng WyRandRNG) u32() u32
u32 returns a pseudorandom 32bit int in range [0, 2³²)
.
fn (WyRandRNG) u64 #
fn (mut rng WyRandRNG) u64() u64
u64 returns a pseudorandom 64bit int in range [0, 2⁶⁴)
.
fn (WyRandRNG) u8 #
fn (mut rng WyRandRNG) u8() u8
byte returns a uniformly distributed pseudorandom 8-bit unsigned positive byte
.