org.deri.iris.builtins.numeric
Class NumericIntegerDivideBuiltin

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

public class NumericIntegerDivideBuiltin
extends DivideBuiltin

Represents a integer divide operation, i.e. divides the first argument by the second, and returns the integer obtained by truncating the fractional part of the result. At the evaluation time there must only be one variable left for computation, otherwise an exception will be thrown.

Author:
Adrian Marte

Field Summary
 
Fields inherited from class org.deri.iris.builtins.AbstractBuiltin
EMPTY_TERM
 
Constructor Summary
NumericIntegerDivideBuiltin(ITerm... terms)
          Constructs a builtin.
 
Method Summary
protected  ITerm computeMissingTerm(int missingTermIndex, ITerm[] terms)
          Compute the missing term when the other two are known.
 
Methods inherited from class org.deri.iris.builtins.ArithmeticBuiltin
evaluateTerms, maxUnknownVariables, testForEquality
 
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

NumericIntegerDivideBuiltin

public NumericIntegerDivideBuiltin(ITerm... terms)
Constructs a builtin. Three terms must be passed to the constructor, otherwise an exception will be thrown.

Parameters:
terms - The terms.
Throws:
NullPointerException - If one of the terms is null.
IllegalArgumentException - If the number of terms submitted is not 3.
NullPointerException - If t is null.
Method Detail

computeMissingTerm

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

Overrides:
computeMissingTerm in class DivideBuiltin
terms - The collection of all terms.
Returns:
The computed value.
Throws:
EvaluationException