ubc.cs.JLog.Builtins
Class jPow

java.lang.Object
  extended by ubc.cs.JLog.Foundation.jType
      extended by ubc.cs.JLog.Terms.jTerm
          extended by ubc.cs.JLog.Terms.iPredicate
              extended by ubc.cs.JLog.Terms.jBuiltinPredicate
                  extended by ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
                      extended by ubc.cs.JLog.Builtins.jRealArithmetic
                          extended by ubc.cs.JLog.Builtins.jPow
All Implemented Interfaces:
iArithmetic, iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue

public class jPow
extends jRealArithmetic


Field Summary
 
Fields inherited from class ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
lhs, rhs
 
Fields inherited from class ubc.cs.JLog.Foundation.jType
type
 
Fields inherited from interface ubc.cs.JLog.Builtins.iArithmetic
MAX
 
Fields inherited from interface ubc.cs.JLog.Terms.iTerm
EQUAL, GREATER_THAN, LESS_THAN
 
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
 
Constructor Summary
jPow(jTerm l, jTerm r)
           
 
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.
protected  jBinaryBuiltinPredicate duplicate(jTerm l, jTerm r)
           
 java.lang.String getName()
          Returns the name of this instance.
 int getPriority()
          Return priority value 0..MAX for operator precedence.
protected  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  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.Builtins.jRealArithmetic
getValue
 
Methods inherited from class ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
compareArguments, consult, consultReset, copy, duplicate, enumerateVariables, equivalenceArguments, getArguments, getArity, getLHS, getRHS, isConsultNeeded, prove, registerUnboundVariables, registerVariables, unifyArguments
 
Methods inherited from class ubc.cs.JLog.Terms.jBuiltinPredicate
equivalence, unify
 
Methods inherited from class ubc.cs.JLog.Terms.iPredicate
compare
 
Methods inherited from class ubc.cs.JLog.Terms.jTerm
compare, copy, getTerm, requiresCompleteVariableState, toString
 
Methods inherited from class ubc.cs.JLog.Foundation.jType
getType, objectToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

jPow

public jPow(jTerm l,
            jTerm r)
Method Detail

getName

public java.lang.String getName()
Description copied from interface: iName
Returns the name of this instance.

Specified by:
getName in interface iName
Specified by:
getName in interface iTerm
Overrides:
getName in class jTerm
Returns:
String containing name of this instance.

duplicate

protected jBinaryBuiltinPredicate duplicate(jTerm l,
                                            jTerm r)
Specified by:
duplicate in class jBinaryBuiltinPredicate

operatorInt

protected 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 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.

getPriority

public int getPriority()
Description copied from interface: iArithmetic
Return priority value 0..MAX for operator precedence. Non-operator terms have max priority.

Returns:
the priority of this operator (lower priority number is higher precedence).

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.