6#define USE_LINEAR_CONGRUENTIAL
22 inline static bool m_Initialized;
24 inline static std::stack<uint32> m_SeedStack;
30 inline static std::random_device m_RandomDevice;
31#ifdef USE_LINEAR_CONGRUENTIAL
32 inline static std::minstd_rand m_Generator;
34#ifdef USE_MERSENNE_TWISTER
35 inline static std::mt19937_64 m_Generator;
42 FORCE_INLINE
static void initialize();
45 static void PushSeed(uint32 seed);
46 static void PopSeed(int32 count = 1);
52 static int32
RandInt(
const int32 min,
const int32 max);
67 std::ranges::shuffle(vector, m_Generator);
A utility which contains essential function for pseudorandom generating.
Definition Random.h:16
static FORCE_INLINE void ShuffleVector(std::vector< T > &vector)
Randomly shuffles a list.
Definition Random.h:65
static String RandString(const int32 length)
Returns random string with given length using digits and alphabet letters.
Definition Random.cpp:32
static int32 RandInt(const int32 min, const int32 max)
Returns random value between min and max.
Definition Random.cpp:23
Represents a mutable sequence of characters, providing various member functions for string manipulati...
Definition String.h:16