org.deri.iris.builtins
Class ExactEqualBuiltin

java.lang.Object
  extended by org.deri.iris.builtins.AbstractBuiltin
      extended by org.deri.iris.builtins.ArithmeticBuiltin
          extended by org.deri.iris.builtins.ExactEqualBuiltin
All Implemented Interfaces:
Comparable<IAtom>, IAtom, IBuiltinAtom

public class ExactEqualBuiltin
extends ArithmeticBuiltin

Built-in to either: a) compare two terms for exact equality, OR b) assign a constant expression to a variable Two terms are exactly equal if they: a) have exactly the same type, AND b) have the same value This comparison respects floating point round-off errors.


Field Summary
 
Fields inherited from class org.deri.iris.builtins.AbstractBuiltin
EMPTY_TERM
 
Constructor Summary
ExactEqualBuiltin(ITerm... t)
          Constructor.
 
Method Summary
protected  ITerm computeMissingTerm(int missingTermIndex, ITerm[] terms)
          Compute the missing term when the other two are known.
protected  boolean testForEquality(ITerm t0, ITerm t1)
           
 
Methods inherited from class org.deri.iris.builtins.ArithmeticBuiltin
evaluateTerms, maxUnknownVariables
 
Methods inherited from class org.deri.iris.builtins.AbstractBuiltin
compareTo, equals, evaluate, getPredicate, getTuple, hashCode, isBuiltin, isGround, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExactEqualBuiltin

public ExactEqualBuiltin(ITerm... t)
Constructor.

Parameters:
terms - The terms, must be two of these
Method Detail

computeMissingTerm

protected ITerm computeMissingTerm(int missingTermIndex,
                                   ITerm[] terms)
Description copied from class: ArithmeticBuiltin
Compute the missing term when the other two are known.

Specified by:
computeMissingTerm in class ArithmeticBuiltin
terms - The collection of all terms.
Returns:
The computed value.

testForEquality

protected boolean testForEquality(ITerm t0,
                                  ITerm t1)
Overrides:
testForEquality in class ArithmeticBuiltin