From f2f65d7ed48e7ff87c7295805370c45f647c341b Mon Sep 17 00:00:00 2001 From: maartenkeijzer Date: Fri, 31 Aug 2007 14:12:54 +0000 Subject: [PATCH] more bugfixes --- eo/src/moo/eoMOEval.h | 4 ++-- eo/src/moo/eoNSGA_IIa_Eval.h | 3 +-- eo/src/moo/eoNSGA_I_Eval.h | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/eo/src/moo/eoMOEval.h b/eo/src/moo/eoMOEval.h index ba3a0f66..7c0506c3 100644 --- a/eo/src/moo/eoMOEval.h +++ b/eo/src/moo/eoMOEval.h @@ -16,9 +16,9 @@ class eoMOEval : public eoPopEvalFunc { private : - eoPopEvalFunc& pop_eval; - eoPopLoopEval default_loop; class eoDummyEval : public eoEvalFunc {public: void operator()(EOT &) {} } dummy_eval; + eoPopLoopEval default_loop; + eoPopEvalFunc& pop_eval; }; diff --git a/eo/src/moo/eoNSGA_IIa_Eval.h b/eo/src/moo/eoNSGA_IIa_Eval.h index c9131871..a25a5903 100644 --- a/eo/src/moo/eoNSGA_IIa_Eval.h +++ b/eo/src/moo/eoNSGA_IIa_Eval.h @@ -27,9 +27,8 @@ class eoNSGA_IIa_Eval : public eoMOEval for (unsigned i = 0; i < offspring.size(); ++i) pop.push_back(&offspring[i]); typename eoFrontSorter::front_t front = sorter(pop); - - unsigned rank = parents.size(); + unsigned rank = pop.size(); for (unsigned i = 0; i < front.size(); ++i) { rank = assign_worths(front[i], rank, pop); } diff --git a/eo/src/moo/eoNSGA_I_Eval.h b/eo/src/moo/eoNSGA_I_Eval.h index 56824dcf..a2f9826b 100644 --- a/eo/src/moo/eoNSGA_I_Eval.h +++ b/eo/src/moo/eoNSGA_I_Eval.h @@ -14,7 +14,7 @@ public : eoNSGA_I_Eval(double nicheWidth, eoEvalFunc& eval) : eoMOEval(eval), nicheSize(nicheWidth) {} eoNSGA_I_Eval(double nicheWidth, eoPopEvalFunc& eval) : eoMOEval(eval), nicheSize(nicheWidth) {} - virutal void operator()(eoPop& parents, eoPop& offspring) { + virtual void operator()(eoPop& parents, eoPop& offspring) { eval(parents, offspring); std::vector pop;