Example #1
0
 public override bool Equals(object obj)
 {
     return(obj is ExponentialScaler &&
            Equality.Eq((obj as ExponentialScaler)._a, _a) &&
            Equality.Eq((obj as ExponentialScaler)._b, _b) &&
            Equality.Eq((obj as ExponentialScaler)._c, _c));
 }
Example #2
0
 public override bool Equals(object obj)
 {
     return(Equality.Of(this, obj)(cc =>
                                   base.Equals(obj) &&
                                   Equality.Eq(_validCharacters, cc._validCharacters)
                                   ));
 }
Example #3
0
        public override double[] Probabilities(Population <TGene, TAllele> population, int count)
        {
            var fitness = new double[population.Count];

            for (var i = population.Count; --i >= 0;)
            {
                fitness[i] = population[i].GetFitness().ToDouble(null);
            }

            var worst = Math.Min(Statistics.Min(fitness), 0.0);
            var sum   = DoubleAdder.Sum(fitness) - worst * population.Count;

            if (Equality.Eq(sum, 0.0))
            {
                for (var i = 0; i < fitness.Length; i++)
                {
                    fitness[i] = 1.0 / population.Count;
                }
            }
            else
            {
                for (var i = population.Count; --i >= 0;)
                {
                    fitness[i] = (fitness[i] - worst) / sum;
                }
            }

            return(fitness);
        }
 public override bool Equals(object obj)
 {
     return Equality.Of(this, obj)(nc =>
         Equality.Eq(Min, nc.Min) &&
         Equality.Eq(Max, nc.Max) &&
         base.Equals(obj)
     );
 }
Example #5
0
 public override bool Equals(object obj)
 {
     return(Equality.Of(this, obj)(gene =>
                                   Equality.Eq(Value, gene.Value) &&
                                   Equality.Eq(Min, gene.Min) &&
                                   Equality.Eq(Max, gene.Max)
                                   ));
 }
Example #6
0
 public override bool Equals(object obj)
 {
     return(obj is Phenotype <TGene, TAllele> &&
            Equality.Eq(GetFitness(), (obj as Phenotype <TGene, TAllele>).GetFitness()) &&
            Equality.Eq(GetRawFitness(), (obj as Phenotype <TGene, TAllele>).GetRawFitness()) &&
            Equality.Eq(_genotype, (obj as Phenotype <TGene, TAllele>)._genotype) &&
            Equality.Eq(_generation, (obj as Phenotype <TGene, TAllele>)._generation));
 }
Example #7
0
        public void Combine(Histogram <T> other)
        {
            if (!Equality.Eq(_separators, other._separators))
            {
                throw new ArgumentException(
                          "The histogram separators are not equals."
                          );
            }

            _count += other._count;
            for (var i = other._histogram.Length; --i >= 0;)
            {
                _histogram[i] += other._histogram[i];
            }
        }
Example #8
0
 public override bool Equals(object obj)
 {
     return(obj is CharacterGene &&
            Equality.Eq((obj as CharacterGene).Allele, Allele) &&
            Equality.Eq((obj as CharacterGene)._validCharacters, _validCharacters));
 }
Example #9
0
 public override bool Equals(object obj)
 {
     return(obj is DoubleAdder adder &&
            Equality.Eq(DoubleValue, adder.DoubleValue));
 }
Example #10
0
 public override bool Equals(object obj)
 {
     return(obj is CompositeAlterer <TGene, TAllele> &&
            Equality.Eq((obj as CompositeAlterer <TGene, TAllele>).Alterers, Alterers));
 }
Example #11
0
 public override bool Equals(object obj)
 {
     return(obj is AnyGene <TAllele> gene &&
            Equality.Eq(gene.Allele, Allele));
 }
Example #12
0
 public override bool Equals(object obj)
 {
     return(obj is EnumGene <TAllele> &&
            Equality.Eq((obj as EnumGene <TAllele>)._alleleIndex, _alleleIndex) &&
            Equality.Eq((obj as EnumGene <TAllele>)._validAlleles, _validAlleles));
 }
Example #13
0
 public override bool Equals(object obj)
 {
     return(Equality.Of(this, obj)(ch => Equality.Eq(Values, ch.Values)));
 }
Example #14
0
 public override bool Equals(object obj)
 {
     return(obj is Genotype <TGene> && Equality.Eq(_chromosomes, (obj as Genotype <TGene>)._chromosomes));
 }
Example #15
0
 public override bool Equals(object obj)
 {
     return(Equality.Of(this, obj)(alterer =>
                                   Equality.Eq(Probability, alterer.Probability)
                                   ));
 }