Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion include/linear_congruential_generator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class LinearCongruentialGenerator : public PseudoRandomNumberGenerator {
LinearCongruentialGenerator(const uint64_t seed, const uint64_t modulus, const uint64_t multiplier, const uint64_t increment, const uint64_t mask);

uint64_t generateRandomValue() override;
double generateUnitNormalRandomValue() override;
};

#endif
1 change: 0 additions & 1 deletion include/mersenne_twister.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ class MersenneTwister : public PseudoRandomNumberGenerator {
MersenneTwister(const uint64_t seed);

uint64_t generateRandomValue() override;
double generateUnitNormalRandomValue() override;
};

#endif
2 changes: 1 addition & 1 deletion include/prng.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class PseudoRandomNumberGenerator
uint64_t generateCryptographicallyInsecureSeed();

virtual uint64_t generateRandomValue() = 0;
virtual double generateUnitNormalRandomValue() = 0;
double generateUnitNormalRandomValue();
double generateFloatingPointRandomValue(float min, float max);
int64_t generateIntegerRandomValue(int32_t min, int32_t max);
};
Expand Down
1 change: 0 additions & 1 deletion include/xorshift.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class XORShift : public PseudoRandomNumberGenerator {


uint64_t generateRandomValue() override;
double generateUnitNormalRandomValue() override;
};

#endif
16 changes: 0 additions & 16 deletions src/prngs/linear_congruential_generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,19 +72,3 @@ uint64_t LinearCongruentialGenerator::generateRandomValue() {

return m_current_value;
}

// Generate a random value normalized to the range [0, 1)
double LinearCongruentialGenerator::generateUnitNormalRandomValue() {

uint64_t random_value = generateRandomValue();

uint64_t range = m_maximum_value - m_minimum_value;
if (range == 0) {
return 0.0; // Avoid division by zero
}

// Normalize the random value to [0, 1)
double normalized_value = static_cast<double>(random_value - m_minimum_value) / static_cast<double>(range);
return normalized_value;
}

15 changes: 0 additions & 15 deletions src/prngs/mersenne_twister.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,18 +111,3 @@ uint64_t MersenneTwister::generateRandomValue(){
uint64_t tempered_value = tempering(raw_value);
return tempered_value;
}

// Generate a random value normalized to the range [0, 1)
double MersenneTwister::generateUnitNormalRandomValue() {

uint64_t random_value = generateRandomValue();

uint64_t range = m_maximum_value - m_minimum_value;
if (range == 0) {
return 0.0; // Avoid division by zero
}

// Normalize the random value to [0, 1)
double normalized_value = static_cast<double>(random_value - m_minimum_value) / static_cast<double>(range);
return normalized_value;
}
2 changes: 1 addition & 1 deletion src/prngs/prng.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,4 @@ double PseudoRandomNumberGenerator::generateUnitNormalRandomValue() {
// Normalize the random value to [0, 1)
double normalized_value = static_cast<double>(random_value - m_minimum_value) / static_cast<double>(range);
return normalized_value;
}
}
16 changes: 0 additions & 16 deletions src/prngs/xorshift.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,3 @@ uint64_t XORShift::generateRandomValue() {

return m_current_value;
}

// Generate a random value normalized to the range [0, 1)
double XORShift::generateUnitNormalRandomValue() {

uint64_t random_value = generateRandomValue();

uint64_t range = m_maximum_value - m_minimum_value;
if (range == 0) {
return 0.0; // Avoid division by zero
}

// Normalize the random value to [0, 1)
double normalized_value = static_cast<double>(random_value - m_minimum_value) / static_cast<double>(range);
return normalized_value;
}