예제 #1
0
void llama::RandomData::generateRandomData<int>(std::vector<int> *targetVector, int count) {
    int intMin = std::numeric_limits<int>::min()+1;
    int intMax = std::numeric_limits<int>::max()-1;
    std::random_device intRandomDevice;
    std::mt19937 intRandomEngine(intRandomDevice());
    std::uniform_int_distribution<int> uniformIntDistribution(intMin, intMax);

    for (int i = 0; i < count; i++) {
        targetVector->push_back(uniformIntDistribution(intRandomEngine));
    }
}
예제 #2
0
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
std::vector<int>
GenerateVectorOfUnsortedIntegersWithinRange(const int kiStartOfRange, const int kiEndOfRange, const size_t kuSizeOfVector) 
{
        std::random_device randomDeviceGenerator;
        std::mt19937 mersenneTwisterGenerator(randomDeviceGenerator());
        std::uniform_int_distribution<int> uniformIntDistribution(kiStartOfRange, kiEndOfRange);

	std::vector<int> aVectorOfIntegers(kuSizeOfVector);
	for (size_t uIndex = 0; uIndex < kuSizeOfVector; uIndex++)
		aVectorOfIntegers[uIndex] = uniformIntDistribution(mersenneTwisterGenerator);

	return aVectorOfIntegers;
}
예제 #3
0
int RndNum::getIntMt(const int min, const int max)
{
    return uniformIntDistribution(min, max);
}