1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use ;
use Pcg64;
/// Generates a PRNG using the PCG64 algorithm.
///
/// Returns the PRNG instance along with the seed number used to initiate the
/// generator.
///
/// # Examples
///
/// ```rust
/// use gymnasia::utils::seeding::rand_random;
///
/// // Generates a PRNG using a random seed derived from the OS.
/// rand_random(None);
///
/// // Generates a PRNG using the given seed.
/// let (generator, seed_no) = rand_random(Some(64));
/// assert_eq!(seed_no, 64);
/// ```