CppUtils/Utils/CRandom.cpp

29 lines
688 B
C++
Raw Normal View History

2025-06-05 10:06:43 +08:00
#include "CRandom.h"
#include "Utils.h"
#include <random>
std::random_device rd;
std::mt19937 gen(rd());
int Random::Next() {
std::uniform_int_distribution<> dist(0, INT_MAX);
return dist(gen);
}
int Random::Next(int min, int max) {
std::uniform_int_distribution<> dist(min, max);
return dist(gen);
}
double Random::NextDouble() {
std::uniform_real_distribution<> dist(0.0, 1.0);
return dist(gen);
}
std::vector<uint8_t> Random::NextBytes(int count) {
std::vector<uint8_t> bytes(count);
std::uniform_int_distribution<> dist(0, 0xFF);
for (int i = 0; i < count; ++i) {
bytes[i] = static_cast<uint8_t>(dist(gen));
}
return bytes;
}