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 ); } } }
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)); }
/* * [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); }
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)); }