You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.4 KiB
120 lines
3.4 KiB
--- a/libacovea/acovea.cpp
|
|
+++ b/libacovea/acovea.cpp
|
|
@@ -86,7 +86,7 @@
|
|
// randomize settings of this option
|
|
void option::randomize()
|
|
{
|
|
- m_enabled = (g_random.get_rand_real2() < 0.5);
|
|
+ m_enabled = (g_random.get_real() < 0.5);
|
|
}
|
|
|
|
// mutate this option
|
|
@@ -246,7 +246,7 @@
|
|
m_step = 1;
|
|
|
|
// possibly adjust value to randomize populations
|
|
- size_t choice = g_random.get_rand_index(3);
|
|
+ size_t choice = g_random.get_index(3);
|
|
|
|
switch (choice)
|
|
{
|
|
@@ -304,12 +304,12 @@
|
|
void tuning_option::mutate()
|
|
{
|
|
// select our mutation
|
|
- if (g_random.get_rand_real2() < 0.5)
|
|
+ if (g_random.get_real() < 0.5)
|
|
option::mutate();
|
|
else
|
|
{
|
|
// mutate value of this option, up or down randomly
|
|
- if (g_random.get_rand_real2() < 0.5)
|
|
+ if (g_random.get_real() < 0.5)
|
|
m_value -= m_step;
|
|
else
|
|
m_value += m_step;
|
|
@@ -335,7 +335,7 @@
|
|
enum_option::enum_option(const vector<string> & a_choices, bool a_enabled)
|
|
: option(a_enabled),
|
|
m_choices(a_choices),
|
|
- m_setting(g_random.get_rand_index(a_choices.size()))
|
|
+ m_setting(g_random.get_index(a_choices.size()))
|
|
{
|
|
// nada
|
|
}
|
|
@@ -344,7 +344,7 @@
|
|
enum_option::enum_option(const char ** a_choices, size_t a_num_choices, bool a_enabled)
|
|
: option(a_enabled),
|
|
m_choices(),
|
|
- m_setting(g_random.get_rand_index(a_num_choices))
|
|
+ m_setting(g_random.get_index(a_num_choices))
|
|
{
|
|
for (int n = 0; n < a_num_choices; ++n)
|
|
m_choices.push_back(string(a_choices[n]));
|
|
@@ -369,7 +369,7 @@
|
|
token = strtok(NULL,"|");
|
|
}
|
|
|
|
- m_setting = g_random.get_rand_index(m_choices.size());
|
|
+ m_setting = g_random.get_index(m_choices.size());
|
|
|
|
free(choices);
|
|
}
|
|
@@ -407,17 +407,17 @@
|
|
void enum_option::randomize()
|
|
{
|
|
// randomize enabled
|
|
- m_enabled = (g_random.get_rand_real2() < 0.5);
|
|
+ m_enabled = (g_random.get_real() < 0.5);
|
|
|
|
// randomize setting
|
|
- m_setting = g_random.get_rand_index(m_choices.size());
|
|
+ m_setting = g_random.get_index(m_choices.size());
|
|
}
|
|
|
|
// mutate this option
|
|
void enum_option::mutate()
|
|
{
|
|
// select our mutation
|
|
- if (g_random.get_rand() & 1)
|
|
+ if (g_random.get_real() < 0.5)
|
|
option::mutate();
|
|
else
|
|
{
|
|
@@ -435,7 +435,7 @@
|
|
|
|
// find a different setting
|
|
while (new_setting == m_setting)
|
|
- new_setting = g_random.get_rand_index(m_choices.size());
|
|
+ new_setting = g_random.get_index(m_choices.size());
|
|
|
|
m_setting = new_setting;
|
|
}
|
|
@@ -915,7 +915,7 @@
|
|
// randomly pick an option from one of the parents
|
|
for (int n = 0; n < a_parent1.size(); ++n)
|
|
{
|
|
- if (g_random.get_rand() & 1)
|
|
+ if (g_random.get_real() < 0.5)
|
|
child.push_back(a_parent1[n]->clone());
|
|
else
|
|
child.push_back(a_parent2[n]->clone());
|
|
@@ -931,7 +931,7 @@
|
|
{
|
|
for (int n = 0; n < a_options.size(); ++n)
|
|
{
|
|
- if (g_random.get_rand_real2() < a_mutation_chance)
|
|
+ if (g_random.get_real() < a_mutation_chance)
|
|
a_options[n]->mutate();
|
|
}
|
|
}
|
|
@@ -1096,7 +1096,7 @@
|
|
acovea_organism * child;
|
|
|
|
// do we crossover?
|
|
- if (g_random.get_rand_real2() <= m_crossover_rate)
|
|
+ if (g_random.get_real() <= m_crossover_rate)
|
|
{
|
|
// select a second parent
|
|
size_t second_index = first_index;
|