JGAP

org.jgap.gp.function
Class AddAndStoreTerminal

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

public class AddAndStoreTerminal
extends CommandGene
implements ICloneable

Stores a value in the internal memory but adds the value already stored in the target memory cell before storing it.

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
AddAndStoreTerminal(GPConfiguration a_conf, java.lang.String a_storageName, java.lang.Class a_childType)
          Constructor.
AddAndStoreTerminal(GPConfiguration a_conf, java.lang.String a_storageName, 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()
           
 int compareTo(java.lang.Object a_other)
          The compareTo-method.
 boolean equals(java.lang.Object a_other)
          The equals-method.
 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_double, execute_float, execute_int, execute_long, execute_object, 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

AddAndStoreTerminal

public AddAndStoreTerminal(GPConfiguration a_conf,
                           java.lang.String a_storageName,
                           java.lang.Class a_childType)
                    throws InvalidConfigurationException
Constructor.

Parameters:
a_conf - GPConfiguration
a_storageName - String
a_childType - Class
Throws:
InvalidConfigurationException
Since:
3.2

AddAndStoreTerminal

public AddAndStoreTerminal(GPConfiguration a_conf,
                           java.lang.String a_storageName,
                           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_storageName - String
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

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.2

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.2

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.2

clone

public java.lang.Object clone()
Specified by:
clone in interface ICloneable
Overrides:
clone in class java.lang.Object
Returns:
deep clone of this instance
Since:
3.2

JGAP