diff --git a/eo/src/do/make_checkpoint_assembled.h b/eo/src/do/make_checkpoint_assembled.h index 3d012cfb..182e9220 100644 --- a/eo/src/do/make_checkpoint_assembled.h +++ b/eo/src/do/make_checkpoint_assembled.h @@ -103,11 +103,11 @@ eoCheckPoint& do_make_checkpoint_assembled(eoParser& _parser, eoState& _sta // best vals std::vector* > bestvals( nTerms ); - for (unsigned i=0; i < nTerms; ++i){ - std::string descr = fitness_descriptions[i] + " of best ind."; - bestvals[i] = new eoBestFitnessStat(i, descr); - _state.storeFunctor( bestvals[i] ); - checkpoint->add( *bestvals[i] ); + for (unsigned j=0; j < nTerms; ++j){ + std::string descr = fitness_descriptions[j] + " of best ind."; + bestvals[j] = new eoBestFitnessStat(j, descr); + _state.storeFunctor( bestvals[j] ); + checkpoint->add( *bestvals[j] ); } // STDOUT @@ -123,8 +123,8 @@ eoCheckPoint& do_make_checkpoint_assembled(eoParser& _parser, eoState& _sta monitor->add( *bestvals[0] ); // Add all average vals - for (unsigned i=0; i < nTerms; ++i) - monitor->add( *avgvals[i] ); + for (unsigned l=0; l < nTerms; ++l) + monitor->add( *avgvals[l] ); // GNUPLOT // ------- @@ -145,14 +145,14 @@ eoCheckPoint& do_make_checkpoint_assembled(eoParser& _parser, eoState& _sta checkpoint->add(*fitSnapshot); std::vector gnumonitors(nTerms, NULL ); - for (unsigned i=0; i < nTerms; ++i){ - stmp = dirName + "/gnuplot_" + fitness_descriptions[i] + ".xg"; - gnumonitors[i] = new eoGnuplot1DMonitor(stmp,true); - _state.storeFunctor(gnumonitors[i]); - checkpoint->add(*gnumonitors[i]); - gnumonitors[i]->add(*generationCounter); - gnumonitors[i]->add(*bestvals[i]); - gnumonitors[i]->add(*avgvals[i]); + for (unsigned k=0; k < nTerms; ++k){ + stmp = dirName + "/gnuplot_" + fitness_descriptions[k] + ".xg"; + gnumonitors[k] = new eoGnuplot1DMonitor(stmp,true); + _state.storeFunctor(gnumonitors[k]); + checkpoint->add(*gnumonitors[k]); + gnumonitors[k]->add(*generationCounter); + gnumonitors[k]->add(*bestvals[k]); + gnumonitors[k]->add(*avgvals[k]); } } diff --git a/eo/src/utils/eoStat.h b/eo/src/utils/eoStat.h index 73e568fa..d0208906 100644 --- a/eo/src/utils/eoStat.h +++ b/eo/src/utils/eoStat.h @@ -341,10 +341,13 @@ public : : eoStat(Fitness(), _description) {} eoBestFitnessStat(unsigned _whichTerm, std::string _description = "Best ") : eoStat(Fitness(), _description), whichFitnessTerm(_whichTerm) {} - - void operator()(const eoPop& _pop) - { - doit(_pop, Fitness()); + + void operator()(const eoPop& _pop){ +#ifdef _MSC_VER + doit(_pop, EOT::Fitness() ); // specializations for scalar and std::vector +#else + doit(_pop, typename EOT::Fitness()); // specializations for scalar and std::vector +#endif } private :