28 double a = state_->getRandomizer()->getRandomDouble();
29 uint dimensionCrs = state_->getRandomizer()->getRandomInteger((
int) p1->realValue.size());
31 switch (state_->getRandomizer()->getRandomInteger(0, 1)) {
32 case 0:
for (uint i = 0; i < dimensionCrs; i++) {
33 ch->realValue[i] = p1->realValue[i];
35 for (uint i = dimensionCrs; i < p1->realValue.size(); i++) {
36 ch->realValue[i] = a * (p2->realValue[i]) + (1 - a) * p1->realValue[i];
39 case 1:
for (uint i = 0; i < dimensionCrs; i++) {
40 ch->realValue[i] = p2->realValue[i];
42 for (uint i = dimensionCrs; i < p2->realValue.size(); i++) {
43 ch->realValue[i] = a * (p1->realValue[i]) + (1 - a) * p2->realValue[i];