Skip to content
Extraits de code Groupes Projets
Valider f2efc3d5 rédigé par Jonathan CROUZET's avatar Jonathan CROUZET
Parcourir les fichiers

Debug : trying to fix segmentation fault in tournament

parent 6c0513f1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -134,7 +134,7 @@ void Population::compute_indicators(){
void Population::compute_fitnesses(double kappa){
int d = c_ * kappa;
int min;
double fitness, min_value;
double fitness;
for (int i=0; i<current_size_; i++){
fitness = 0;
......@@ -145,12 +145,10 @@ void Population::compute_fitnesses(double kappa){
}
fitnesses_[i] = fitness;
if (i == 0) {
min_value = fitness;
min = 0;
}
else {
if (min_value >= fitness) {
min_value = fitness;
if (fitnesses_[min] > fitnesses_[i]) {
min = i;
}
}
......@@ -162,6 +160,7 @@ void Population::darwin(double kappa){
int d = c_ * kappa;
double * tmp_p;
double tmp;
int min;
/* Update fitnesses */
for (int i=0; i<current_size_; i++){
......@@ -192,8 +191,22 @@ void Population::darwin(double kappa){
fitnesses_[ind_min_] = fitnesses_[current_size_-1];
fitnesses_[current_size_-1] = tmp;
/* Update current size */
current_size_ -= 1;
/* Update min indice */
for (int i=0; i < current_size_; i++){
if (i == 0){
min = 0;
}
else {
if (fitnesses_[min] > fitnesses_[i]){
min = i;
}
}
}
ind_min_ = min;
/* Update c_ = max(abs(indicator_values))*/
c_ = 0;
for (int i=0; i < current_size_; i++){
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter