devolve



auto  singlePoint(size_t len)(in BitSet!len parent1, in BitSet!len parent2);

Create a new individual by taking all of the elements from one individual after a randomly chosen point and appending them to all of the values before that point from another individual.

ind1 = 1001010110110
ind2 = 0010101010010
point =      *

child = 1001101010010

NOTE:
len will be inferred by the GA

auto  twoPoint(size_t len)(in BitSet!len parent1, in BitSet!len parent2);

Create a new individual by taking all of the alleles from one individual after a randomly chosen point and before a different randomly chosen point and trading them with the alleles from the other individual which are within that range.

ind1 = 0000000000000
ind2 = 1111111111111
point1 =   *
point2 =         *

result = 0011110000000

NOTE:
len will be inferred by the GA