com.epochx.representation.dbl
Class MaxFunction

java.lang.Object
  extended by com.epochx.representation.Node<TYPE>
      extended by com.epochx.representation.FunctionNode<java.lang.Double>
          extended by com.epochx.representation.dbl.MaxFunction
All Implemented Interfaces:
java.lang.Cloneable

public class MaxFunction
extends FunctionNode<java.lang.Double>

A FunctionNode which performs the simple comparison function of determining which of 2 numbers is larger, as per the boolean greater-than function.


Constructor Summary
MaxFunction()
          Construct a MaxFunction with no children.
MaxFunction(Node<java.lang.Double> child1, Node<java.lang.Double> child2)
          Construct a MaxFunction with two child.
 
Method Summary
 java.lang.Double evaluate()
          Evaluating a MaxFunction involves evaluating the children then comparing and returning which ever is the larger of the 2 evaluated children.
 java.lang.String getFunctionName()
          Get the unique name that identifies this function.
 
Methods inherited from class com.epochx.representation.FunctionNode
equals, toString
 
Methods inherited from class com.epochx.representation.Node
clone, getArity, getChild, getChildren, getDepth, getFunctionNodes, getLength, getNodesAtDepth, getNoDistinctFunctions, getNoDistinctTerminals, getNoFunctions, getNoTerminals, getNthNode, getTerminalNodes, hashCode, setChild, setChildren, setNthNode
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MaxFunction

public MaxFunction()
Construct a MaxFunction with no children.


MaxFunction

public MaxFunction(Node<java.lang.Double> child1,
                   Node<java.lang.Double> child2)
Construct a MaxFunction with two child. When evaluated, the children will both be evaluated with the larger of the two returned as the result.

Parameters:
child1 - The first child node for comparison.
child2 - The second child node for comparison.
Method Detail

evaluate

public java.lang.Double evaluate()
Evaluating a MaxFunction involves evaluating the children then comparing and returning which ever is the larger of the 2 evaluated children.

Specified by:
evaluate in class Node<java.lang.Double>
Returns:
The result of evaluating the candidate program.

getFunctionName

public java.lang.String getFunctionName()
Get the unique name that identifies this function.

Specified by:
getFunctionName in class FunctionNode<java.lang.Double>
Returns:
the unique name for the MaxFunction which is MAX.