Пример #1
0
 private static void AssertValid(INumericChromosome <TAllele, TGene> c)
 {
     if (c.IsValid)
     {
         foreach (var gene in c)
         {
             Assert.True(gene.Allele.CompareTo(c.Min) >= 0);
             Assert.True(gene.Allele.CompareTo(c.Max) <= 0);
         }
     }
     else
     {
         foreach (var gene in c)
         {
             Assert.True(
                 gene.Allele.CompareTo(c.Min) < 0 ||
                 gene.Allele.CompareTo(c.Max) > 0
                 );
         }
     }
 }
Пример #2
0
 public static double DoubleValue <TAllele, TGene>(this INumericChromosome <TAllele, TGene> nc)
     where TAllele : IComparable <TAllele>, IConvertible
     where TGene : INumericGene <TAllele, TGene>
 {
     return(nc.DoubleValue(0));
 }
Пример #3
0
        /*
         * [Fact]
         * public void PrimitiveTypeAccess() {
         *  var c = (INumericChromosome<N, G>) Factory()();
         *
         *  Assert.Equal(c.ByteValue(), c.ByteValue(0));
         *  Assert.Equal(c.ShortValue(), c.ShortValue(0));
         *  Assert.Equal(c.IntValue(), c.IntValue(0));
         *  Assert.Equal(c.FloatValue(), c.FloatValue(0));
         *  Assert.Equal(c.DoubleValue(), c.DoubleValue(0));
         * }
         */

        private static void AssertMinMax(INumericChromosome <TAllele, TGene> c1, INumericChromosome <TAllele, TGene> c2)
        {
            Assert.Equal(c1.Min, c2.Min);
            Assert.Equal(c1.Max, c2.Max);
        }
Пример #4
0
 public static double DoubleValue <TAllele, TGene>(this INumericChromosome <TAllele, TGene> nc, int index)
     where TAllele : IComparable <TAllele>, IConvertible
     where TGene : INumericGene <TAllele, TGene>
 {
     return(nc.GetGene(index).Allele.ToDouble(null));
 }