* indentations + whitespace cleanup
This commit is contained in:
parent
8457e39efe
commit
56c6edab04
285 changed files with 6068 additions and 6223 deletions
|
|
@ -1,9 +1,9 @@
|
|||
/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
eoTruncatedSelectOne.h
|
||||
eoTruncatedSelectOne.h
|
||||
(c) Maarten Keijzer, Marc Schoenauer, GeNeura Team, 2002
|
||||
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
#include <math.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
/** eoTruncatedSelectOne selects one individual using eoSelectOne as it's
|
||||
/** eoTruncatedSelectOne selects one individual using eoSelectOne as it's
|
||||
mechanism. Therefore eoTruncatedSelectOne needs an eoSelectOne in its ctor
|
||||
|
||||
It will perform selection only from the top guys in the population.
|
||||
|
|
@ -47,17 +47,17 @@ class eoTruncatedSelectOne : public eoSelectOne<EOT>
|
|||
{
|
||||
public:
|
||||
/** Ctor from rate and bool */
|
||||
eoTruncatedSelectOne(eoSelectOne<EOT>& _select,
|
||||
double _rateFertile,
|
||||
bool _interpret_as_rateF = true)
|
||||
: select(_select),
|
||||
eoTruncatedSelectOne(eoSelectOne<EOT>& _select,
|
||||
double _rateFertile,
|
||||
bool _interpret_as_rateF = true)
|
||||
: select(_select),
|
||||
howManyFertile(_rateFertile, _interpret_as_rateF),
|
||||
tmpPop(), actualPop(tmpPop)
|
||||
{}
|
||||
|
||||
/** Ctor with eoHowMany */
|
||||
eoTruncatedSelectOne(eoSelectOne<EOT>& _select,
|
||||
eoHowMany _howManyFertile)
|
||||
eoTruncatedSelectOne(eoSelectOne<EOT>& _select,
|
||||
eoHowMany _howManyFertile)
|
||||
: select(_select), howManyFertile(_howManyFertile),
|
||||
tmpPop(), actualPop(tmpPop)
|
||||
{}
|
||||
|
|
@ -69,19 +69,19 @@ public:
|
|||
unsigned fertile = howManyFertile(_source.size());
|
||||
if (fertile == _source.size()) // noting to do, all are fertile
|
||||
{
|
||||
actualPop = _source;
|
||||
actualPop = _source;
|
||||
}
|
||||
else
|
||||
{
|
||||
// copy only best ferile to actualPop
|
||||
tmpPop.resize(fertile);
|
||||
std::vector<const EOT *> result;
|
||||
_source.nth_element(fertile, result);
|
||||
for (unsigned i=0; i<fertile; i++)
|
||||
tmpPop[i] = *result[i];
|
||||
// copy only best ferile to actualPop
|
||||
tmpPop.resize(fertile);
|
||||
std::vector<const EOT *> result;
|
||||
_source.nth_element(fertile, result);
|
||||
for (unsigned i=0; i<fertile; i++)
|
||||
tmpPop[i] = *result[i];
|
||||
|
||||
// and just in case
|
||||
actualPop = tmpPop;
|
||||
// and just in case
|
||||
actualPop = tmpPop;
|
||||
}
|
||||
|
||||
// AND DON'T FORGET to call the embedded select setup method on actualPop
|
||||
|
|
@ -89,24 +89,24 @@ public:
|
|||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
The implementation selects an individual from the fertile pop
|
||||
|
||||
@param _pop the source population
|
||||
@return the selected guy
|
||||
*/
|
||||
const EOT& operator()(const eoPop<EOT>& _pop)
|
||||
const EOT& operator()(const eoPop<EOT>& _pop)
|
||||
{
|
||||
return select(actualPop);
|
||||
}
|
||||
|
||||
|
||||
private :
|
||||
eoSelectOne<EOT>& select; // selector for one guy
|
||||
eoHowMany howManyFertile; // number of fertile guys
|
||||
eoPop<EOT> tmpPop; // intermediate population - fertile guys
|
||||
eoPop<EOT> & actualPop; // to avoid copies when 100% fertility
|
||||
eoSelectOne<EOT>& select; // selector for one guy
|
||||
eoHowMany howManyFertile; // number of fertile guys
|
||||
eoPop<EOT> tmpPop; // intermediate population - fertile guys
|
||||
eoPop<EOT> & actualPop; // to avoid copies when 100% fertility
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Reference in a new issue