com.epochx.representation.dbl
Class PowerFunction

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.PowerFunction
All Implemented Interfaces:
java.lang.Cloneable

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

A FunctionNode which performs the mathematical operation of exponentiation.


Constructor Summary
PowerFunction()
          Construct a PowerFunction with no children.
PowerFunction(Node<java.lang.Double> base, Node<java.lang.Double> exponent)
          Construct a PowerFunction with 2 children.
 
Method Summary
 java.lang.Double evaluate()
          Evaluating a PowerFunction involves raising the first child to the power of the second, after both children are evaluated.
 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

PowerFunction

public PowerFunction()
Construct a PowerFunction with no children.


PowerFunction

public PowerFunction(Node<java.lang.Double> base,
                     Node<java.lang.Double> exponent)
Construct a PowerFunction with 2 children. When evaluated, the evaluation of the first child is raised to the power of the evaluation of the second.

Parameters:
base - The first child node - the base.
exponent - The second child node - the exponent.
Method Detail

evaluate

public java.lang.Double evaluate()
Evaluating a PowerFunction involves raising the first child to the power of the second, after both children are evaluated.

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 PowerFunction which is POW.