/* * This file is part of JGAP. * * JGAP offers a dual license model containing the LGPL as well as the MPL. * * For licensing information please see the file license.txt included with JGAP * or have a look at the top of class org.jgap.Chromosome which representatively * includes the JGAP license policy applicable for any file delivered with JGAP. */ package org.jgap.impl; import org.jgap.*; /** * Fitness function always returning the same value. * Only for testing purpose! * * @author Klaus Meffert * @since 1.1 */ public class StaticFitnessFunction extends FitnessFunction implements Comparable { /** String containing the CVS revision. Read out via reflection!*/ private final static String CVS_REVISION = "$Revision: 1.11 $"; /** * @since 2.0 (until 1.1: type int) */ private double m_staticFitnessValue; /** * @param a_staticFitnessValue double * * @author Klaus Meffert * @since 2.0 (until 1.1: input type int) */ public StaticFitnessFunction(double a_staticFitnessValue) { m_staticFitnessValue = a_staticFitnessValue; } /** * @param a_chrom ignored: the Chromosome to evaluate * @return static fitness value * * @author Klaus Meffert * @since 2.0 (until 1.1: return type int) */ public double evaluate(IChromosome a_chrom) { double result = m_staticFitnessValue; return result; } /** * @return double typed fitness value * * @author Klaus Meffert * @since 2.0 (until 1.1: return type int) */ public double getStaticFitnessValue() { return m_staticFitnessValue; } /** * @param a_staticFitnessValue the value to return as fitness value when * calling evaluate() * * @author Klaus Meffert * @since 2.0 (until 1.1: type int) */ public void setStaticFitnessValue(double a_staticFitnessValue) { m_staticFitnessValue = a_staticFitnessValue; } public int hashCode() { int result = new Double(m_staticFitnessValue).hashCode(); return result; } /** * @param a_other sic * @return as always * * @author Klaus Meffert * @since 3.2 */ public int compareTo(Object a_other) { StaticFitnessFunction other = (StaticFitnessFunction)a_other; if (m_staticFitnessValue > other.m_staticFitnessValue) { return 1; } else if (m_staticFitnessValue < other.m_staticFitnessValue) { return -1; } else { return 0; } } }