From bd88da01f769cdec3278955f61039ba6d3d1ffe6 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Tue, 28 Dec 2010 16:43:44 +0100 Subject: [PATCH] + added a test file for eoParallel class --- eo/test/CMakeLists.txt | 1 + eo/test/t-eoParallel.cpp | 46 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 eo/test/t-eoParallel.cpp diff --git a/eo/test/CMakeLists.txt b/eo/test/CMakeLists.txt index 220063504..436c4503c 100644 --- a/eo/test/CMakeLists.txt +++ b/eo/test/CMakeLists.txt @@ -65,6 +65,7 @@ SET (TEST_LIST t-eoExtendedVelocity t-eoLogger t-eoIQRStat + t-eoParallel t-openmp ) diff --git a/eo/test/t-eoParallel.cpp b/eo/test/t-eoParallel.cpp new file mode 100644 index 000000000..055f45987 --- /dev/null +++ b/eo/test/t-eoParallel.cpp @@ -0,0 +1,46 @@ +//----------------------------------------------------------------------------- +// t-eoParallel.cpp +//----------------------------------------------------------------------------- + +#include +#include +//#include +#include "real_value.h" + +//----------------------------------------------------------------------------- + +typedef eoReal< eoMinimizingFitness > EOT; + +int main(int ac, char** av) +{ + eoParser parser(ac, av); + + unsigned int popSize = parser.getORcreateParam((unsigned int)100, "popSize", "Population Size", 'P', "Evolution Engine").value(); + unsigned int dimSize = parser.getORcreateParam((unsigned int)10, "dimSize", "Dimension Size", 'd', "Evolution Engine").value(); + + uint32_t seedParam = parser.getORcreateParam((uint32_t)0, "seed", "Random number seed", 0).value(); + if (seedParam == 0) { seedParam = time(0); } + + make_parallel(parser); + make_help(parser); + + rng.reseed( seedParam ); + + eoUniformGenerator< double > gen(-5, 5); + eoInitFixedLength< EOT > init( dimSize, gen ); + + eoEvalFuncPtr< EOT, double, const std::vector< double >& > mainEval( real_value ); + eoEvalFuncCounter< EOT > eval( mainEval ); + + eoPop< EOT > pop( popSize, init ); + + //apply< EOT >( eval, pop ); + eoPopLoopEval< EOT > popEval( eval ); + popEval( pop, pop ); + + eo::log << eo::quiet << "DONE!" << std::endl; + + return 0; +} + +//-----------------------------------------------------------------------------