* {@inheritDoc}
*/
@Override
public void performOperation(GenerateRandom rnd, Genome[] parents, int parentIndex,
Genome[] offspring, int offspringIndex) {
DoubleArrayGenome parent = (DoubleArrayGenome) parents[parentIndex];
offspring[offspringIndex] = parent.getPopulation().getGenomeFactory().factor();
DoubleArrayGenome child = (DoubleArrayGenome) offspring[offspringIndex];
for (int i = 0; i < parent.size(); i++) {
double value = parent.getData()[i];
value += value * (perturbAmount - (rnd.nextDouble() * perturbAmount * 2));
child.getData()[i] = value;
}
}