diff --git a/eo/src/es/eoEsChromInit.h b/eo/src/es/eoEsChromInit.h index 872fc8ed..e9485d2b 100644 --- a/eo/src/es/eoEsChromInit.h +++ b/eo/src/es/eoEsChromInit.h @@ -64,7 +64,8 @@ public : EOT operator()() { - return create(EOT()); + EOT eo; + return create(eo); } private : diff --git a/eo/src/es/eoEsMutate.h b/eo/src/es/eoEsMutate.h index 0a613842..ce76bfe1 100644 --- a/eo/src/es/eoEsMutate.h +++ b/eo/src/es/eoEsMutate.h @@ -65,7 +65,7 @@ template class eoEsMutate: public eoMonOp< EOT > { public: - typedef EOT::Fitness FitT; + typedef typename EOT::Fitness FitT; /** Initialization parameters: @@ -156,7 +156,8 @@ public: */ double global = exp(TauGlb * rng.normal()); - for (unsigned i = 0; i < _eo.size(); i++) + unsigned i; + for (i = 0; i < _eo.size(); i++) { double stdev = _eo.stdevs[i]; stdev *= global * exp(TauLcl * rng.normal()); @@ -230,14 +231,14 @@ public: private : - void init(eoEsSimple&, eoEsMutationInit& _init) + void init(eoEsSimple, eoEsMutationInit& _init) { unsigned size = bounds.chromSize(); TauLcl = _init.TauLcl(); TauLcl /= sqrt((double) size); } - void init(eoEsStdev&, eoEsMutationInit& _init) + void init(eoEsStdev, eoEsMutationInit& _init) { unsigned size = bounds.chromSize(); @@ -249,7 +250,7 @@ public: TauGlb /= sqrt( 2.0 * ( (double) size ) ); } - void init(eoEsFull&, eoEsMutationInit& _init) + void init(eoEsFull, eoEsMutationInit& _init) { init(eoEsStdev(), _init); TauBeta = _init.TauBeta();