private Sample Mutate(Sample s, int mc, ISampler rnd) { if (mc > 1 && rnd.NextFloat() > 0.5f) { if (rnd.NextFloat() > 0.5f) { s.imageX = Mutate(s.imageX, rnd.NextFloat(), rnd.NextFloat()); //if (rnd.NextFloat() > 0.5f) s.imageY = Mutate(s.imageY, rnd.NextFloat(), rnd.NextFloat()); } //return s; //if (rnd.NextFloat() > 0.5f)return; } for (int i = 0; i < s.sampleData.Length; i++) { s.sampleData[i] = Mutate(s.sampleData[i], rnd.NextFloat(), rnd.NextFloat()); } return s; }