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)); }
public override bool Equals(object obj) { return(Equality.Of(this, obj)(cc => base.Equals(obj) && Equality.Eq(_validCharacters, cc._validCharacters) )); }
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) ); }
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) )); }
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)); }
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]; } }
public override bool Equals(object obj) { return(obj is CharacterGene && Equality.Eq((obj as CharacterGene).Allele, Allele) && Equality.Eq((obj as CharacterGene)._validCharacters, _validCharacters)); }
public override bool Equals(object obj) { return(obj is DoubleAdder adder && Equality.Eq(DoubleValue, adder.DoubleValue)); }
public override bool Equals(object obj) { return(obj is CompositeAlterer <TGene, TAllele> && Equality.Eq((obj as CompositeAlterer <TGene, TAllele>).Alterers, Alterers)); }
public override bool Equals(object obj) { return(obj is AnyGene <TAllele> gene && Equality.Eq(gene.Allele, Allele)); }
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)); }
public override bool Equals(object obj) { return(Equality.Of(this, obj)(ch => Equality.Eq(Values, ch.Values))); }
public override bool Equals(object obj) { return(obj is Genotype <TGene> && Equality.Eq(_chromosomes, (obj as Genotype <TGene>)._chromosomes)); }
public override bool Equals(object obj) { return(Equality.Of(this, obj)(alterer => Equality.Eq(Probability, alterer.Probability) )); }