Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.epochx.representation.bool
Class IfAndOnlyIfFunction

    java.lang.Object
      com.epochx.representation.Node<TYPE>
          com.epochx.representation.FunctionNode<java.lang.Boolean>
              com.epochx.representation.bool.IfAndOnlyIfFunction

All Implemented Interfaces:
  java.lang.Cloneable

    public class IfAndOnlyIfFunction

extends FunctionNode<java.lang.Boolean>

A `FunctionNode` which performs the biconditional logical connective of IFF (if and only if).

Constructor Summary
`IfAndOnlyIfFunction()` Construct an IfAndOnlyIfFunction with no children.
`IfAndOnlyIfFunction(Node<java.lang.Boolean> child1, Node<java.lang.Boolean> child2)` Construct an IfAndOnlyIfFunction with two children.

Method Summary
`java.lang.Boolean` | `evaluate()` Evaluating an `IfAndOnlyIfFunction` involves combining the evaluation of the children according to the rules of IFF where if both children evaluate to true or both evaluate to false, then the result will be true.
`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

### IfAndOnlyIfFunction

    public IfAndOnlyIfFunction()

  Construct an IfAndOnlyIfFunction with no children.

### IfAndOnlyIfFunction

    public IfAndOnlyIfFunction(Node<java.lang.Boolean> child1,
                               Node<java.lang.Boolean> child2)

  Construct an IfAndOnlyIfFunction with two children. When evaluated, if both children evaluate to true, or both evaluate to false then the result will be true. All other combinations will return a result of false.

  Parameters:
    `child1` - The first child node.
    `child2` - The second child node.

Method Detail

### evaluate

    public java.lang.Boolean evaluate()

  Evaluating an `IfAndOnlyIfFunction` involves combining the evaluation of the children according to the rules of IFF where if both children evaluate to true or both evaluate to false, then the result will be true. All other combinations will return a result of false.

  Specified by:
    `evaluate` in class `Node<java.lang.Boolean>`
  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.Boolean>`
  Returns:
    the unique name for the IfAndOnlyIfFunction which is IFF.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD