diff --git a/shared/inc/values/mrand.hpp b/shared/inc/values/mrand.hpp index 745e1a4..2d22b18 100644 --- a/shared/inc/values/mrand.hpp +++ b/shared/inc/values/mrand.hpp @@ -12,6 +12,6 @@ namespace mrand { uint128 getState(uint64_t seed); float getFloat(uint128 *state); - int getValue(int min, int max, uint128 *state); + int getValue(int max, uint128 *state); unsigned int computeCRC32(void *data, int dataSize); } \ No newline at end of file diff --git a/shared/src/values/Dna.cpp b/shared/src/values/Dna.cpp index ecdc928..ddbf876 100644 --- a/shared/src/values/Dna.cpp +++ b/shared/src/values/Dna.cpp @@ -11,7 +11,7 @@ namespace DNA uint8_t *array = (uint8_t *)dna; for (size_t i = 0; i < sizeof(Dna); i++) { - array[i] = mrand::getValue(0, 255, state); + array[i] = mrand::getValue(256, state); } return; } @@ -23,7 +23,7 @@ namespace DNA uint8_t *ca = (uint8_t *)c; for (size_t i = 0; i < sizeof(Dna); i++) { - int val = mrand::getValue(0, 1, state); + int val = mrand::getValue(2, state); if (val == 0) { ca[i] = p1a[i]; @@ -42,14 +42,14 @@ namespace DNA uint8_t *ca = (uint8_t *)c; for (size_t i = 0; i < sizeof(Dna); i++) { - int val = mrand::getValue(0, 1, state); + int val = mrand::getValue(2, state); if (val == 0) { ca[i] = p1a[i]; } else { - ca[i] = mrand::getValue(0, 255, state); + ca[i] = mrand::getValue(256, state); } } } @@ -58,8 +58,8 @@ namespace DNA uint8_t *array = (uint8_t *)dna; for (size_t i = 0; i < num; i++) { - int pos = mrand::getValue(0, sizeof(Dna), state); - array[pos] = mrand::getValue(0, 255, state); + int pos = mrand::getValue(sizeof(Dna), state); + array[pos] = mrand::getValue(256, state); } } } \ No newline at end of file diff --git a/shared/src/values/DnaManager.cpp b/shared/src/values/DnaManager.cpp index 51e7c95..14c4b99 100644 --- a/shared/src/values/DnaManager.cpp +++ b/shared/src/values/DnaManager.cpp @@ -1,5 +1,3 @@ - - #include #include "values/DnaManager.hpp" @@ -86,11 +84,11 @@ void DnaManager::newGen(DnaManagerData *data) for (auto &&i : data->disliked) { - size_t p1 = mrand::getValue(0, data->liked.size() - 1, &data->randSeed); - size_t p2 = mrand::getValue(0, data->liked.size() - 1, &data->randSeed); + size_t p1 = mrand::getValue(data->liked.size(), &data->randSeed); + size_t p2 = mrand::getValue(data->liked.size(), &data->randSeed); while (p1 == p2) { - p2 = mrand::getValue(0, data->liked.size(), &data->randSeed); + p2 = mrand::getValue(data->liked.size(), &data->randSeed); } p1 = data->liked[p1]; diff --git a/shared/src/values/mrand.cpp b/shared/src/values/mrand.cpp index 2079107..fab6529 100644 --- a/shared/src/values/mrand.cpp +++ b/shared/src/values/mrand.cpp @@ -47,11 +47,10 @@ namespace mrand return rprand_state; } - int getValue(int min, int max, uint128 *state) + int getValue(int max, uint128 *state) { - int value = my_rprand_xoshiro((uint32_t *)state) % (std::abs(max - min) + 1) + min; - - return value; + uint32_t rand = my_rprand_xoshiro((uint32_t *)state); + return rand % max; } float getFloat(uint128 *state)