sequence_type create_child(const sequence_type& a, const sequence_type& b , const sequence_len_t separator) { sequence_len_t i; sequence_type individual; individual = _base.create(_base.len(a)); for(i = 0; i < separator; ++i) { _base.set(individual, i, _base.get(a, i)); } for(i = separator; i < _base.len(b); ++i) { _base.set(individual, i, _base.get(b, i)); } return individual; }
sequence_type create_child(const sequence_type& a, const sequence_type& b , const sequence_len_t offset1, const sequence_len_t offset2) const { sequence_len_t i; sequence_type individual; individual = _base.create(_base.len(a)); for(i = 0; i < offset1; ++i) { _base.set(individual, i, _base.get(a, i)); } for(i = offset1; i < offset2; ++i) { _base.set(individual, i, _base.get(b, i)); } for(i = offset2; i < _base.len(a); ++i) { _base.set(individual, i, _base.get(a, i)); } return individual; }