/home/ooechs/Ecj2Java/src/ac/essex/ooechs/ecj/ecj2java/example/terminals/Number.java
|
package ac.essex.ooechs.ecj.ecj2java.example.terminals;
import ac.essex.ooechs.ecj.ecj2java.nodes.ParseableERC;
import ec.EvolutionState;
/**
*
* <p>
* This is a simple ERC class that returns a number in the range
* -5 to 5. It is an extension of the parseableERC class which demands
* it implement two methods - setNumber() and name(), the former
* to choose which random numbers it wants, and the second to
* provide it with a unique name for ECJ to use.
* </p>
*
* <p/>
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version,
* provided that any use properly credits the author.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details at http://www.gnu.org
* </p>
*
* @author Olly Oechsle, University of Essex, Date: 06-Sep-2006
* @version 1.0
*/
public class Number extends ParseableERC {
public double setNumber(final EvolutionState state, final int thread) {
return state.random[thread].nextInt(200) - 100;
}
public int getObjectType() {
return DOUBLE;
}
public String name() {
return "number";
}
}