/*
Copyright 2012 by Sean Luke
Licensed under the Academic Free License version 3.0
See the file "LICENSE" for more information
*/
package ec.app.regression.func;
import ec.*;
import ec.app.regression.*;
import ec.gp.*;
import ec.util.*;
import java.io.*;
/*
* KornsERC.java
*
* Created: Wed Nov 3 18:26:37 1999
* By: Sean Luke
This ERC appears in the Korns function set. It is defined as a random finite 65-bit IEEE double. We achieve this by drawing a random long, then converting it to a double, then rejecting results which are either NaN or infinite.
M. F. Korns. Accuracy in Symbolic Regression. In Proc. GPTP. 2011.
*/
/**
* @author Sean Luke
* @version 1.0
*/
public class KornsERC extends RegERC
{
public String name() { return "KornsERC"; }
public void resetNode(final EvolutionState state, final int thread)
{
do
{
value = Double.longBitsToDouble(state.random[thread].nextLong());
}
while (Double.isNaN(value) || Double.isInfinite(value));
}
}
Ads help maintain this website.