Example #1
0
bool Genome::same(const Genome& other) const
{
	if(!(valid() && other.valid()))
		return false;

	if(other.m_Alleles.size()!=m_Alleles.size())
        return false;
    for(int i=0;i<m_Alleles.size();i++)
    {
        if(m_Alleles[i].first!=other.m_Alleles[i].first ||
		   m_Alleles[i].second!=other.m_Alleles[i].second)
            return false;
    }
    return true;
}
Example #2
0
bool Genome::operator==(const Genome& other) const
{
    if(valid() && other.valid())
        return fitness()==other.fitness();
    return false;
}
Example #3
0
bool Genome::operator>(const Genome& other) const
{
    if(valid() && other.valid())
        return fitness()>other.fitness();
    return valid();
}