ubc.cs.JLog.Builtins
Class jIntegerArithmetic
java.lang.Object
ubc.cs.JLog.Foundation.jType
ubc.cs.JLog.Terms.jTerm
ubc.cs.JLog.Terms.iPredicate
ubc.cs.JLog.Terms.jBuiltinPredicate
ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
ubc.cs.JLog.Builtins.jIntegerArithmetic
- All Implemented Interfaces:
- iArithmetic, iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue
- Direct Known Subclasses:
- jIntegerDivide, jMod
public abstract class jIntegerArithmetic
- extends jBinaryBuiltinPredicate
Fields inherited from class ubc.cs.JLog.Foundation.jType |
type |
Fields inherited from interface ubc.cs.JLog.Foundation.iType |
TYPE_ARITHMETIC, TYPE_ATOM, TYPE_BUILTINPREDICATE, TYPE_COMMAND, TYPE_COMPARE, TYPE_COMPOUND, TYPE_CONS, TYPE_IF, TYPE_INTEGER, TYPE_LIST, TYPE_NULLLIST, TYPE_NUMERICCOMPARE, TYPE_OBJECT, TYPE_OPERATOR, TYPE_OR, TYPE_ORPREDICATE, TYPE_PREDICATE, TYPE_PREDICATETERMS, TYPE_REAL, TYPE_TYPE, TYPE_UNARYARITHMETIC, TYPE_UNARYOPERATOR, TYPE_UNDEFINED, TYPE_VARIABLE |
Method Summary |
void |
addGoals(jGoal g,
iGoalStack goals)
Arithmetics are intended as expressions for is ,
if used a predicate they fail. |
void |
addGoals(jGoal g,
jVariable[] vars,
iGoalStack goals)
Arithmetics are intended as expressions for is ,
if used a predicate they fail. |
jTerm |
getValue()
Return the value of this object after. |
protected abstract int |
operatorInt(int l,
int r)
Perform the integer operations specified by this instance on the two
given integers, and return the integer result. |
protected abstract float |
operatorReal(float l,
float r)
Perform the float operations specified by this instance on the two
given floats, and return the float result. |
java.lang.String |
toString(boolean usename)
Produces a string identifying this term, suitable for display to the console. |
Methods inherited from class ubc.cs.JLog.Terms.jBinaryBuiltinPredicate |
compareArguments, consult, consultReset, copy, duplicate, duplicate, enumerateVariables, equivalenceArguments, getArguments, getArity, getLHS, getRHS, isConsultNeeded, prove, registerUnboundVariables, registerVariables, unifyArguments |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ubc.cs.JLog.Terms.iName |
getName |
jIntegerArithmetic
public jIntegerArithmetic(jTerm l,
jTerm r)
getValue
public jTerm getValue()
- Description copied from interface:
iValue
- Return the value of this object after.
- Specified by:
getValue
in interface iTerm
- Specified by:
getValue
in interface iValue
- Returns:
jTerm
which represents the evaluated value of this
instance, or the value bound to this instance, in the case of a
variable.
operatorInt
protected abstract int operatorInt(int l,
int r)
- Perform the integer operations specified by this instance on the two
given integers, and return the integer result.
- Parameters:
l
- The left operand.r
- The right operand.
- Returns:
- The result of
l
op r
where op is specified by this instance.
operatorReal
protected abstract float operatorReal(float l,
float r)
- Perform the float operations specified by this instance on the two
given floats, and return the float result.
- Parameters:
l
- The left operand.r
- The right operand.
- Returns:
- The result of
l
op r
where op is specified by this instance.
addGoals
public void addGoals(jGoal g,
jVariable[] vars,
iGoalStack goals)
- Arithmetics are intended as expressions for
is
,
if used a predicate they fail.
- Overrides:
addGoals
in class jBinaryBuiltinPredicate
- Parameters:
g
- The super-goal jGoal
for the sub-goal that this
function will add.vars
- The vector of duplicate variables produced
from the previous call to registerVariables
.
Needed for call to duplicate
.goals
- The iGoalStack
to add the goal to.
addGoals
public void addGoals(jGoal g,
iGoalStack goals)
- Arithmetics are intended as expressions for
is
,
if used a predicate they fail.
- Overrides:
addGoals
in class jBinaryBuiltinPredicate
- Parameters:
g
- The super-goal jGoal
for the sub-goal that this
function will add.goals
- The iGoalStack
to add the goal to.
toString
public java.lang.String toString(boolean usename)
- Description copied from class:
jTerm
- Produces a string identifying this term, suitable for display to the console.
param usename determines whether to display variables by name or identity.
false
is the default for displaying the term,
true
for displaying this term in a user query.
- Specified by:
toString
in interface iTerm
- Overrides:
toString
in class jBinaryBuiltinPredicate
- Returns:
String
which is a textual representation of this
term.