public static Gene ChooseRandomGene(Gene gene1, Gene gene2)
 {
     return(RandomProvider.GetThreadRandom().NextDouble() < 0.5 ? gene1 : gene2);
 }
 public static Gene CreateRandomGene()
 {
     return((Gene)(1 << RandomProvider.GetThreadRandom().Next(3)));
 }