14 uint dimensionCrs1 = state_->getRandomizer()->getRandomInteger((
int)p1->intValues.size());
15 uint dimensionCrs2 = dimensionCrs1, tmp;
17 if(p1->intValues.size() > 1)
19 dimensionCrs2 = state_->getRandomizer()->getRandomInteger(p1->intValues.size());
20 }
while (dimensionCrs1 == dimensionCrs2);
22 if (dimensionCrs1 > dimensionCrs2)
25 dimensionCrs1 = dimensionCrs2;
29 switch (state_->getRandomizer()->getRandomInteger(0, 1)) {
30 case 0:
for (uint i = 0; i < dimensionCrs1; i++) {
31 ch->intValues[i] = p1->intValues[i];
33 for (uint i = dimensionCrs1; i < dimensionCrs2; i++) {
34 ch->intValues[i] = p2->intValues[i];
36 for (uint i = dimensionCrs2; i < p1->intValues.size(); i++) {
37 ch->intValues[i] = p1->intValues[i];
40 case 1:
for (uint i = 0; i < dimensionCrs1; i++) {
41 ch->intValues[i] = p2->intValues[i];
43 for (uint i = dimensionCrs1; i < dimensionCrs2; i++) {
44 ch->intValues[i] = p1->intValues[i];
46 for (uint i = dimensionCrs2; i < p2->intValues.size(); i++) {
47 ch->intValues[i] = p2->intValues[i];