24 uint bitCrs = state_->getRandomizer()->getRandomInteger(0, (
int)p1->size() - 1);
25 ECF_LOG(state_, 5,
"Performing One-Pt crossover at node (" + uint2str(bitCrs) +
")...");
27 switch (state_->getRandomizer()->getRandomInteger(0, 1)) {
28 case 0:
for (uint i = 0; i < bitCrs; i++) {
29 ch->push_back(
static_cast<Tree::NodeP
> (
new Tree::Node((p1->at(i)))));
31 for (uint i = bitCrs; i < p2->size(); i++) {
32 ch->push_back(
static_cast<Tree::NodeP
> (
new Tree::Node((p2->at(i)))));
35 case 1:
for (uint i = 0; i < bitCrs; i++) {
36 ch->push_back(
static_cast<Tree::NodeP
> (
new Tree::Node((p2->at(i)))));
38 for (uint i = bitCrs; i < p1->size(); i++) {
39 ch->push_back(
static_cast<Tree::NodeP
> (
new Tree::Node((p1->at(i)))));