/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"; 
    } 
 
}