24 lines
658 B
V
24 lines
658 B
V
import time
|
|
import rand
|
|
import rand.pcg32
|
|
import rand.seed
|
|
|
|
fn main() {
|
|
words := ['Enjoy', 'Rosetta', 'Code']
|
|
seed_u64 := u64(time.now().unix_time_milli())
|
|
q := chan string{}
|
|
for i, w in words {
|
|
go fn (q chan string, w string, seed_u64 u64) {
|
|
mut rng := pcg32.PCG32RNG{}
|
|
time_seed := seed.time_seed_array(2)
|
|
seed_arr := [u32(seed_u64), u32(seed_u64 >> 32), time_seed[0], time_seed[1]]
|
|
rng.seed(seed_arr)
|
|
time.sleep(time.Duration(rng.i64n(1_000_000_000)))
|
|
q <- w
|
|
}(q, w, seed_u64 + u64(i))
|
|
}
|
|
for _ in 0 .. words.len {
|
|
println(<-q)
|
|
}
|
|
}
|