package ac.essex.gp.nodes.ercs;

import ac.essex.gp.params.NodeParams;
import ac.essex.gp.params.RangeTypes;

/**
 * Produces a integer number between 0-8
 *
 * @author Olly Oechsle, University of Essex, Date: 16-Feb-2007
 * @version 1.0
 */
public class SmallIntERC extends ac.essex.gp.nodes.ercs.BasicERC {

    final int max = 8;

    public void jitter() {
        double d = Math.random();
        if (d < 0.1) {
            value--;
        }
        if (d > 0.9) {
            value++;
        }
    }

    public double setValue() {
        return (int) (Math.random() * max) + 1;
    }

    public int getReturnType() {
        return NodeParams.NUMBER;
    }

    public int getRangeID() {
        return RangeTypes.RANGE_SMALL_INT;
    }

}
