fix bug getValue didnt return proper values
This commit is contained in:
parent
35a646d3e8
commit
c84f02c1e8
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#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];
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user