From 00780d785a3013774d9c8d97d5c9a92d871db52e Mon Sep 17 00:00:00 2001 From: mac Date: Tue, 13 Jun 2000 14:30:47 +0000 Subject: [PATCH] Added an ownership function to eoState --- eo/test/t-eoESFull.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/eo/test/t-eoESFull.cpp b/eo/test/t-eoESFull.cpp index 86810213..08e17b7c 100644 --- a/eo/test/t-eoESFull.cpp +++ b/eo/test/t-eoESFull.cpp @@ -34,7 +34,7 @@ using namespace std; typedef double FitT; template -void runAlgorithm(EOT, eoParser& _parser, eoEsObjectiveBounds& _bounds); +void runAlgorithm(EOT, eoParser& _parser, eoState& _state, eoEsObjectiveBounds& _bounds); main(int argc, char *argv[]) { @@ -68,15 +68,15 @@ main(int argc, char *argv[]) // Run the appropriate algorithm if (stdevs.value() == false && corr.value() == false) { - runAlgorithm(eoEsSimple() ,parser, bounds); + runAlgorithm(eoEsSimple() ,parser, state, bounds); } else if (corr.value() == true) { - runAlgorithm(eoEsFull(),parser, bounds); + runAlgorithm(eoEsFull(),parser, state, bounds); } else { - runAlgorithm(eoEsStdev(), parser, bounds); + runAlgorithm(eoEsStdev(), parser, state, bounds); } // and save @@ -91,7 +91,7 @@ main(int argc, char *argv[]) } template -void runAlgorithm(EOT, eoParser& _parser, eoEsObjectiveBounds& _bounds) +void runAlgorithm(EOT, eoParser& _parser, eoState& _state, eoEsObjectiveBounds& _bounds) { // evaluation eoEvalFuncPtr > eval( real_value ); @@ -107,7 +107,9 @@ void runAlgorithm(EOT, eoParser& _parser, eoEsObjectiveBounds& _bounds) // Initialization eoEsChromInit init(_bounds); - eoPop pop(mu.value(), init); + eoPop& pop = _state.takeOwnership(eoPop(mu.value(), init)); + + _state.registerObject(pop); // evaluate initial population eval.range(pop.begin(), pop.end());