org.jgap.gp.function
Class ForLoop
- java.lang.Object
-
- org.jgap.gp.CommandGene
-
- org.jgap.gp.function.ForLoop
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, ICloneable
public class ForLoop extends CommandGene implements ICloneable
The for-loop. You can preset the start index and the end index. If the latter is not given, it is dynamically computed from a child.- Since:
- 3.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jgap.gp.CommandGene
CommandGene.COMMAND_TYPE
-
-
Field Summary
-
Fields inherited from class org.jgap.gp.CommandGene
BooleanClass, CharacterClass, DELTA, DoubleClass, FloatClass, IntegerClass, LongClass, nodeIndex, VoidClass
-
-
Constructor Summary
Constructors Constructor and Description ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_maxLoop)Constructor.ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_maxLoop)Constructor allowing to preset the starting index of the loop.ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_endIndex, int a_increment, java.lang.String a_varName)Constructor allowing to preset the starting and the ending index of the loop.ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_endIndex, int a_increment, java.lang.String a_varName, int a_subReturnType, int a_subChildType)ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_maxLoop, java.lang.String a_varName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectclone()Clones the object.intcompareTo(java.lang.Object a_other)The compareTo-method.booleanequals(java.lang.Object a_other)The equals-method.java.lang.Objectexecute_object(ProgramChromosome c, int n, java.lang.Object[] args)Executes this node as an object.voidexecute_void(ProgramChromosome c, int n, java.lang.Object[] args)Executes this node, returning nothing.java.lang.ClassgetChildType(IGPProgram a_ind, int a_chromNum)Gets the type of node allowed from the given child number.java.lang.StringgetCounterMemoryName()java.lang.StringgetName()java.lang.StringgetVarName()booleanisValid(ProgramChromosome a_program)Subclasses capable of validating programs should overwrite this method.java.lang.StringtoString()-
Methods inherited from class org.jgap.gp.CommandGene
cleanup, dynamizeArity, ensureUniqueness, ensureUniqueness, ensureUniqueness2, execute_boolean, execute_double, execute_float, execute_int, execute_long, execute, getAllele, getApplicationData, getArity, getEnergy, getGPConfiguration, getPersistentRepresentation, getReturnType, getSubChildType, getSubChildTypes, getSubReturnType, hashCode, isAffectGlobalState, isCompareApplicationData, isFloatType, isIntegerType, isValid, setAllele, setApplicationData, setCompareApplicationData, setEnergy, setNoValidation, setReturnType, setToRandomValue, setValueFromPersistentRepresentation, size
-
-
-
-
Constructor Detail
-
ForLoop
public ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_maxLoop) throws InvalidConfigurationException
Constructor.- Parameters:
a_conf- the configuration to usea_typeVar- Class of the loop counter terminakl (e.g. IntegerClass)a_maxLoop- the maximum number of loops to perform- Throws:
InvalidConfigurationException- Since:
- 3.0
-
ForLoop
public ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_maxLoop) throws InvalidConfigurationException
Constructor allowing to preset the starting index of the loop.- Parameters:
a_conf- the configuration to usea_typeVar- Class of the loop counter terminakl (e.g. IntegerClass)a_startIndex- index to start the loop with (normally 0)a_maxLoop- the maximum number of loops to perform- Throws:
InvalidConfigurationException- Since:
- 3.0
-
ForLoop
public ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_maxLoop, java.lang.String a_varName) throws InvalidConfigurationException
- Throws:
InvalidConfigurationException
-
ForLoop
public ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_endIndex, int a_increment, java.lang.String a_varName) throws InvalidConfigurationException
Constructor allowing to preset the starting and the ending index of the loop.- Parameters:
a_conf- the configuration to usea_typeVar- Class of the loop counter terminal (e.g. IntegerClass)a_startIndex- index to start the loop witha_endIndex- index to end the loop witha_increment- the maximum number of loops to performa_varName- informal textual name of the loop counter variable- Throws:
InvalidConfigurationException- Since:
- 3.2
-
ForLoop
public ForLoop(GPConfiguration a_conf, java.lang.Class a_typeVar, int a_startIndex, int a_endIndex, int a_increment, java.lang.String a_varName, int a_subReturnType, int a_subChildType) throws InvalidConfigurationException
- Throws:
InvalidConfigurationException
-
-
Method Detail
-
toString
public java.lang.String toString()
- Specified by:
toStringin classCommandGene- Returns:
- the string representation of the command. Especially usefull to output a resulting formula in human-readable form.
-
getName
public java.lang.String getName()
- Overrides:
getNamein classCommandGene- Returns:
- textual name of this command
- Since:
- 3.2
-
execute_object
public java.lang.Object execute_object(ProgramChromosome c, int n, java.lang.Object[] args)
Description copied from class:CommandGeneExecutes this node as an object. Override to implement.- Overrides:
execute_objectin classCommandGene- Parameters:
c- ignored heren- ignored hereargs- ignored here- Returns:
- nothing but exception
-
execute_void
public void execute_void(ProgramChromosome c, int n, java.lang.Object[] args)
Description copied from class:CommandGeneExecutes this node, returning nothing. Override to implement.- Overrides:
execute_voidin classCommandGene- Parameters:
c- ignored heren- ignored hereargs- ignored here
-
isValid
public boolean isValid(ProgramChromosome a_program)
Description copied from class:CommandGeneSubclasses capable of validating programs should overwrite this method. See class Push as a sample.- Overrides:
isValidin classCommandGene- Parameters:
a_program- the ProgramChromosome to validate- Returns:
- true: a_program is (superficially) valid with the current Command
-
getChildType
public java.lang.Class getChildType(IGPProgram a_ind, int a_chromNum)
Description copied from class:CommandGeneGets the type of node allowed from the given child number. Should be overridden in subclasses.- Overrides:
getChildTypein classCommandGene- Parameters:
a_ind- the individual the child belongs toa_chromNum- the chromosome number- Returns:
- the type of node allowed for that child, or null of no child exists
-
getVarName
public java.lang.String getVarName()
- Returns:
- symbolic name of the variable name used in the for header.
- Since:
- 3.4
-
compareTo
public int compareTo(java.lang.Object a_other)
The compareTo-method.- Specified by:
compareToin interfacejava.lang.Comparable- Overrides:
compareToin classCommandGene- Parameters:
a_other- the other object to compare- Returns:
- -1, 0, 1
- Since:
- 3.0
-
equals
public boolean equals(java.lang.Object a_other)
The equals-method.- Overrides:
equalsin classCommandGene- Parameters:
a_other- the other object to compare- Returns:
- true if the objects are seen as equal
- Since:
- 3.0
-
getCounterMemoryName
public java.lang.String getCounterMemoryName()
- Returns:
- name of the memory cell where the current value of the loop variable is stored
- Since:
- 3.2
-
clone
public java.lang.Object clone()
Clones the object. Simple and straight forward implementation here.- Specified by:
clonein interfaceICloneable- Overrides:
clonein classjava.lang.Object- Returns:
- cloned instance of this object
- Since:
- 3.4
-
-
DMelt 3.0 © DataMelt by jWork.ORG