JGAP

org.jgap.gp.function
Class StoreTerminalIndexed

java.lang.Object
  extended by org.jgap.gp.CommandGene
      extended by org.jgap.gp.function.StoreTerminalIndexed
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, ICloneable

public class StoreTerminalIndexed
extends CommandGene
implements ICloneable

Stores a value in the internal indexed memory.

Since:
3.2
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
StoreTerminalIndexed(GPConfiguration a_conf, int a_index, java.lang.Class a_childType)
           
StoreTerminalIndexed(GPConfiguration a_conf, int a_index, java.lang.Class a_childType, int a_subReturnType, int a_subChildType)
          Allows setting a sub type and sub return type.
 
Method Summary
 java.lang.Object clone()
          Clones the object.
 int compareTo(java.lang.Object a_other)
          The compareTo-method.
 boolean equals(java.lang.Object a_other)
          The equals-method.
 double execute_double(ProgramChromosome c, int n, java.lang.Object[] args)
          Executes this node as a double.
 float execute_float(ProgramChromosome c, int n, java.lang.Object[] args)
          Executes this node as a float.
 int execute_int(ProgramChromosome c, int n, java.lang.Object[] args)
          Executes this node as an integer.
 long execute_long(ProgramChromosome c, int n, java.lang.Object[] args)
          Executes this node as a long.
 java.lang.Object execute_object(ProgramChromosome c, int n, java.lang.Object[] args)
          Executes this node as an object.
 void execute_void(ProgramChromosome c, int n, java.lang.Object[] args)
          Executes this node, returning nothing.
 java.lang.Class getChildType(IGPProgram a_ind, int a_chromNum)
          Determines which type a specific child of this command has.
 java.lang.String getName()
           
 boolean isAffectGlobalState()
           
 boolean isValid(ProgramChromosome a_program)
          Subclasses capable of validating programs should overwrite this method.
 java.lang.String toString()
           
 
Methods inherited from class org.jgap.gp.CommandGene
check, check, cleanup, dynamizeArity, ensureUniqueness, ensureUniqueness, ensureUniqueness2, execute_boolean, execute, getAllele, getApplicationData, getArity, getArityMax, getArityMin, getCommandType, getEnergy, getGPConfiguration, getInternalValue, getPersistentRepresentation, getPersistentRepresentationExt, getReturnType, getSubChildType, getSubChildTypes, getSubReturnType, hashCode, init, isCompareApplicationData, isFloatType, isIntegerType, isValid, setAllele, setApplicationData, setArity, setArityMax, setArityMin, setCompareApplicationData, setEnergy, setNoValidation, setReturnType, setToRandomValue, setValueFromPersistentRepresentation, setValueFromString, size
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StoreTerminalIndexed

public StoreTerminalIndexed(GPConfiguration a_conf,
                            int a_index,
                            java.lang.Class a_childType)
                     throws InvalidConfigurationException
Throws:
InvalidConfigurationException

StoreTerminalIndexed

public StoreTerminalIndexed(GPConfiguration a_conf,
                            int a_index,
                            java.lang.Class a_childType,
                            int a_subReturnType,
                            int a_subChildType)
                     throws InvalidConfigurationException
Allows setting a sub type and sub return type.

Parameters:
a_conf - GPConfiguration
a_index - the index of the memory cell to use
a_childType - Class
a_subChildType - int
a_subReturnType - int
Throws:
InvalidConfigurationException
Since:
3.2
Method Detail

toString

public java.lang.String toString()
Specified by:
toString in class CommandGene
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:
getName in class CommandGene
Returns:
textual name of this command
Since:
3.2

execute_void

public void execute_void(ProgramChromosome c,
                         int n,
                         java.lang.Object[] args)
Description copied from class: CommandGene
Executes this node, returning nothing. Override to implement.

Overrides:
execute_void in class CommandGene
Parameters:
c - ignored here
n - ignored here
args - ignored here

execute_int

public int execute_int(ProgramChromosome c,
                       int n,
                       java.lang.Object[] args)
Description copied from class: CommandGene
Executes this node as an integer. Override to implement.

Overrides:
execute_int in class CommandGene
Parameters:
c - ignored here
n - ignored here
args - ignored here
Returns:
nothing but exception

execute_long

public long execute_long(ProgramChromosome c,
                         int n,
                         java.lang.Object[] args)
Description copied from class: CommandGene
Executes this node as a long. Override to implement.

Overrides:
execute_long in class CommandGene
Parameters:
c - ignored here
n - ignored here
args - ignored here
Returns:
nothing but exception

execute_double

public double execute_double(ProgramChromosome c,
                             int n,
                             java.lang.Object[] args)
Description copied from class: CommandGene
Executes this node as a double. Override to implement.

Overrides:
execute_double in class CommandGene
Parameters:
c - ignored here
n - ignored here
args - ignored here
Returns:
nothing but exception

execute_float

public float execute_float(ProgramChromosome c,
                           int n,
                           java.lang.Object[] args)
Description copied from class: CommandGene
Executes this node as a float. Override to implement.

Overrides:
execute_float in class CommandGene
Parameters:
c - ignored here
n - ignored here
args - ignored here
Returns:
nothing but exception

execute_object

public java.lang.Object execute_object(ProgramChromosome c,
                                       int n,
                                       java.lang.Object[] args)
Description copied from class: CommandGene
Executes this node as an object. Override to implement.

Overrides:
execute_object in class CommandGene
Parameters:
c - ignored here
n - ignored here
args - ignored here
Returns:
nothing but exception

isAffectGlobalState

public boolean isAffectGlobalState()
Overrides:
isAffectGlobalState in class CommandGene
Returns:
true: command affects global state (i.e. stack or memory)

isValid

public boolean isValid(ProgramChromosome a_program)
Description copied from class: CommandGene
Subclasses capable of validating programs should overwrite this method. See class Push as a sample.

Overrides:
isValid in class CommandGene
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)
Determines which type a specific child of this command has.

Overrides:
getChildType in class CommandGene
Parameters:
a_ind - ignored here
a_chromNum - index of child
Returns:
type of the a_chromNum'th child
Since:
3.0

compareTo

public int compareTo(java.lang.Object a_other)
The compareTo-method.

Specified by:
compareTo in interface java.lang.Comparable
Overrides:
compareTo in class CommandGene
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:
equals in class CommandGene
Parameters:
a_other - the other object to compare
Returns:
true if the objects are seen as equal
Since:
3.0

clone

public java.lang.Object clone()
Clones the object. Simple and straight forward implementation here.

Specified by:
clone in interface ICloneable
Overrides:
clone in class java.lang.Object
Returns:
cloned instance of this object
Since:
3.4

JGAP