From 3798b665d47ee37cdb8a3a810f8c852ef653e4bb Mon Sep 17 00:00:00 2001 From: maartenkeijzer Date: Wed, 14 Mar 2001 10:13:27 +0000 Subject: [PATCH] Added support for printing vector as a fitness --- eo/src/EO.h | 9 ++++++++- eo/src/eoDominanceMap.h | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/eo/src/EO.h b/eo/src/EO.h index 8158cb40..4dba3fb0 100644 --- a/eo/src/EO.h +++ b/eo/src/EO.h @@ -27,10 +27,11 @@ //----------------------------------------------------------------------------- -#include // runtime_error +#include // runtime_error #include // eoObject #include // eoPersistent +/// Functions for reading and writing non-scalar fitnesses, should probably go to seperate file template ostream& print_fitness(ostream& _os, const std::vector& vec) { @@ -39,18 +40,21 @@ ostream& print_fitness(ostream& _os, const std::vector& vec) return _os; } +/// Functions for reading and writing non-scalar fitnesses, should probably go to seperate file template ostream& print_fitness(ostream& _os, const std::pair& pair) { return _os << pair.first << ' ' << pair.second; } +/// Functions for reading and writing non-scalar fitnesses, should probably go to seperate file template ostream& print_fitness(ostream& _os, const T& t) { // general, try operator<< return _os << t; } +/// Functions for reading and writing non-scalar fitnesses, should probably go to seperate file template istream& read_fitness(istream& _is, vector& vec) { @@ -65,6 +69,7 @@ istream& read_fitness(istream& _is, vector& vec) return _is; } +/// Functions for reading and writing non-scalar fitnesses, should probably go to seperate file template istream& read_fitness(istream& _is, pair& pair) { @@ -72,6 +77,8 @@ istream& read_fitness(istream& _is, pair& pair) _is >> pair.second; return _is; } + +/// Functions for reading and writing non-scalar fitnesses, should probably go to seperate file template istream& read_fitness(istream& _is, T& t) { diff --git a/eo/src/eoDominanceMap.h b/eo/src/eoDominanceMap.h index 9402a512..b48abdc5 100644 --- a/eo/src/eoDominanceMap.h +++ b/eo/src/eoDominanceMap.h @@ -183,8 +183,8 @@ class eoDominanceMap : public eoUF&, void>, public std::vect { for (unsigned j = 0; j < size(); ++j) { - if (operator[](i)[j]) - result[i]++; + if (operator[](i)[j]) // i dominates j + result[j]++; } } @@ -205,7 +205,7 @@ class eoDominanceMap : public eoUF&, void>, public std::vect { for (unsigned j = 0; j < size(); ++j) { - if (operator[](j)[i]) + if (operator[](i)[j]) // i dominates j result[i]++; } }