new style peo

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1021 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
canape 2008-02-29 14:08:59 +00:00
commit edb6d65a7b
34 changed files with 407 additions and 386 deletions

View file

@ -39,13 +39,16 @@
void CompleteTopology :: setNeighbors (Cooperative * __mig,
std :: vector <Cooperative *> & __from,
std :: vector <Cooperative *> & __to) {
std :: vector <Cooperative *> & __to)
{
__from.clear () ;
__to.clear () ;
for (unsigned i = 0; i < mig.size (); i ++) {
if (mig [i] != __mig) {
for (unsigned i = 0; i < mig.size (); i ++)
{
if (mig [i] != __mig)
{
__from.push_back (mig [i]);
__to.push_back (mig [i]);
}

View file

@ -39,7 +39,8 @@
#include "topology.h"
class CompleteTopology : public Topology {
class CompleteTopology : public Topology
{
public :

View file

@ -41,13 +41,16 @@
void RandomTopology :: setNeighbors (Cooperative * __mig,
std :: vector <Cooperative *> & __from,
std :: vector <Cooperative *> & __to) {
std :: vector <Cooperative *> & __to)
{
__from.clear () ;
__to.clear () ;
for (unsigned i = 0; i < mig.size (); i ++) {
if (mig [i] != __mig && rng.uniform() < 0.5 ) {
for (unsigned i = 0; i < mig.size (); i ++)
{
if (mig [i] != __mig && rng.uniform() < 0.5 )
{
__from.push_back (mig [i]);
__to.push_back (mig [i]);
}

View file

@ -39,7 +39,8 @@
#include "topology.h"
class RandomTopology : public Topology {
class RandomTopology : public Topology
{
public :

View file

@ -41,29 +41,35 @@ StarTopology :: StarTopology () : center( NULL ) {}
void StarTopology :: setNeighbors (Cooperative * __mig,
std :: vector <Cooperative *> & __from,
std :: vector <Cooperative *> & __to) {
std :: vector <Cooperative *> & __to)
{
assert( center != NULL );
__from.clear () ;
__to.clear () ;
if ( __mig == center ) {
if ( __mig == center )
{
for (unsigned i = 0; i < mig.size (); i ++) {
if (mig [i] != center) {
for (unsigned i = 0; i < mig.size (); i ++)
{
if (mig [i] != center)
{
__from.push_back (mig [i]);
__to.push_back (mig [i]);
}
}
}
else {
else
{
__from.push_back (center);
__to.push_back (center);
}
}
void StarTopology :: setCenter (Cooperative& __center) {
void StarTopology :: setCenter (Cooperative& __center)
{
center = &__center;
}

View file

@ -39,7 +39,8 @@
#include "topology.h"
class StarTopology : public Topology {
class StarTopology : public Topology
{
public :

View file

@ -65,7 +65,11 @@ struct SyncCompare
std::vector< SyncEntry >::const_iterator itA = syncA.begin();
std::vector< SyncEntry >::const_iterator itB = syncB.begin();
while ( itA != syncA.end() && (*itA).runner == (*itB).runner ) { itA++; itB++; }
while ( itA != syncA.end() && (*itA).runner == (*itB).runner )
{
itA++;
itB++;
}
return ( (itA == syncA.end()) ) ? false : ( (*itA).runner < (*itB).runner );
}

View file

@ -63,7 +63,8 @@ int main (int __argc, char *__argv[])
eoSegmentCrossover<Indi> crossover;
eoUniformMutation<Indi> mutation(0.01);
peoTransform<Indi> transform(crossover,0.8,mutation,0.3);
/*p*/eoPop < Indi > pop;
/*p*/
eoPop < Indi > pop;
pop.append (10, random);
eoPlusReplacement<Indi> replace;
eoRandomSelect<Indi> mig_select_one;
@ -90,7 +91,8 @@ int main (int __argc, char *__argv[])
eoSegmentCrossover<Indi> crossover2;
eoUniformMutation<Indi> mutation2(0.01);
peoTransform<Indi> transform2(crossover2,0.8,mutation2,0.3);
/*p*/eoPop < Indi > pop2;
/*p*/
eoPop < Indi > pop2;
pop2.append (10, random2);
eoPlusReplacement<Indi> replace2;
eoRandomSelect<Indi> mig_select_one2;