Encore du nettoyage

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1814 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jhumeau 2010-05-17 15:11:48 +00:00
commit 02e5cfb6c0
66 changed files with 987 additions and 1785 deletions

View file

@ -43,75 +43,75 @@ typedef eoInt<unsigned int> QUEEN;
class dummyInit : public eoInit<QUEEN>
{
public:
dummyInit(unsigned int _size):size(_size){}
dummyInit(unsigned int _size):size(_size) {}
void operator()(QUEEN& _sol){
_sol.resize(0);
for(unsigned int i=0; i<size; i++)
_sol.push_back(i);
_sol.invalidate();
}
void operator()(QUEEN& _sol) {
_sol.resize(0);
for (unsigned int i=0; i<size; i++)
_sol.push_back(i);
_sol.invalidate();
}
private:
unsigned int size;
unsigned int size;
};
int main(){
int main() {
std::cout << "[t-moRestartPerturb] => START" << std::endl;
std::cout << "[t-moRestartPerturb] => START" << std::endl;
QUEEN queen;
moShiftNeighbor<QUEEN> n;
QUEEN queen;
moShiftNeighbor<QUEEN> n;
dummyInit initializer(4);
dummyInit initializer(4);
queenEval<QUEEN> eval;
queenEval<QUEEN> eval;
moRestartPerturb<moShiftNeighbor<QUEEN> > test(initializer, eval, 3);
moRestartPerturb<moShiftNeighbor<QUEEN> > test(initializer, eval, 3);
queen.resize(4);
queen[0]=1;
queen[1]=2;
queen[2]=0;
queen[3]=3;
queen.resize(4);
queen[0]=1;
queen[1]=2;
queen[2]=0;
queen[3]=3;
test.init(queen);
test.init(queen);
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //first noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //second noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //third noMove
test(queen);//here the perturb should be called
assert(queen[0]==0 && queen[1]==1 && queen[2]==2 && queen[3]==3);
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //first noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //second noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //third noMove
test(queen);//here the perturb should be called
assert(queen[0]==0 && queen[1]==1 && queen[2]==2 && queen[3]==3);
queen[0]=1;
queen[1]=2;
queen[2]=0;
queen[3]=3;
queen[0]=1;
queen[1]=2;
queen[2]=0;
queen[3]=3;
//Retry the same test to verify counter is been reinit to 0
//Retry the same test to verify counter is been reinit to 0
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //first noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //second noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //third noMove
test(queen); //here the perturb should be called
assert(queen[0]==0 && queen[1]==1 && queen[2]==2 && queen[3]==3);
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //first noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //second noMove
test(queen);
assert(queen[0]==1 && queen[1]==2 && queen[2]==0 && queen[3]==3);
test.update(queen,n); //third noMove
test(queen); //here the perturb should be called
assert(queen[0]==0 && queen[1]==1 && queen[2]==2 && queen[3]==3);
std::cout << "[t-moRestartPerturb] => OK" << std::endl;
std::cout << "[t-moRestartPerturb] => OK" << std::endl;
return EXIT_SUCCESS;
return EXIT_SUCCESS;
}