org.problets.domain.model.expression.node.operator.arithmetic
Class VBModulus

java.lang.Object
  extended by org.problets.domain.model.DomainModel
      extended by org.problets.domain.model.expression.node.NodeModel
          extended by org.problets.domain.model.expression.node.operator.Operator
              extended by org.problets.domain.model.expression.node.operator.arithmetic.Arithmetic
                  extended by org.problets.domain.model.expression.node.operator.arithmetic.BaseModulus
                      extended by org.problets.domain.model.expression.node.operator.arithmetic.JModulus
                          extended by org.problets.domain.model.expression.node.operator.arithmetic.VBModulus
All Implemented Interfaces:
java.lang.Cloneable

public class VBModulus
extends JModulus

To represent modulus operator in VB

Author:
Amruth Kumar

Field Summary
static java.lang.String SYMBOL
           
 
Fields inherited from class org.problets.domain.model.expression.node.operator.arithmetic.Arithmetic
TOTAL_OPERATORS
 
Fields inherited from class org.problets.domain.model.expression.node.operator.Operator
INCORRECT_OPERAND_COUNT
 
Fields inherited from class org.problets.domain.model.DomainModel
BOOLEAN, BREAKPOINT, CHARACTER, DOUBLE_PRECISION_REAL, ERROR_TYPE, EVAL_STATUS, expACTION, expASSIGNMENT, expAUTO_DEALLOCATION, expCALL, expCONDITION, expDECLARATION, expDEREFERENCING, expDYNAMIC_ALLOCATION, expDYNAMIC_ALLOCATION_INITIALIZATION, expDYNAMIC_DEALLOCATION, expELSE_CLAUSE, expERROR, expEXECUTION, expIF_CLAUSE, expINITIALIZATION, expINPUT, expPARAMETER_PASSING, expPRINT, expQUESTIONABLE, expREFERENCING, expRETURN, expRUNTIME_ERROR, expSEMANTIC_ERROR, expSYNTAX_ERROR, expUPDATE, IDENTITY, MAX_OBJECT_IDENTITY, MIN_OBJECT_IDENTITY, QUADRUPLE_PRECISION_REAL, RUNTIME_ERROR, SEMANTIC_ERROR, SIGNED_INTEGER, SIGNED_LONG, SIGNED_SHORT, SINGLE_PRECISION_REAL, SYNTAX_ERROR, UNDEFINED_TYPE, UNSIGNED_INTEGER, UNSIGNED_LONG, UNSIGNED_SHORT, WARNING
 
Constructor Summary
VBModulus()
           
 
Method Summary
 Value getCoercedValue(Value leftValue, Value rightValue, java.lang.String result)
          Since VB returns an integer result if the denominator evenly divides the numerator even though the two operands are real, we extend getCoercedValue() to handle this
 java.lang.String getQualifiedLearningObject()
          Method returns the name of the operator, disambiguated enough so that it can be easily credited in the student model.
 
Methods inherited from class org.problets.domain.model.expression.node.operator.arithmetic.BaseModulus
evaluate, explain, getLocalLearningObjectives
 
Methods inherited from class org.problets.domain.model.expression.node.operator.Operator
clone, coerceToReal, contentEquals, contentEquals, getArity, getAssociativity, getOperatorType, getPrecedence, getStudentCopy, getSymbol, grade, locateOperator, main, recursiveContentEquals, recursiveSetValue
 
Methods inherited from class org.problets.domain.model.expression.node.NodeModel
classifyNodes, getContent, getLeftChild, getNonRecursiveContent, getOrder, getPosition, getRecursiveContent, getRightChild, getSideEffects, getValue, insertInOrder, setLeftChild, setOrder, setPosition, setRightChild, setValue, shortCircuit, skip, subExpToString, toString, valueEquals
 
Methods inherited from class org.problets.domain.model.DomainModel
getId, getIdName, grade
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SYMBOL

public static final java.lang.String SYMBOL
See Also:
Constant Field Values
Constructor Detail

VBModulus

public VBModulus()
Method Detail

getQualifiedLearningObject

public java.lang.String getQualifiedLearningObject()
Method returns the name of the operator, disambiguated enough so that it can be easily credited in the student model. Need this to make sure credit is given to %.Correct, which is in KnowledgeModel.txt, rather than mod.Correct.

Overrides:
getQualifiedLearningObject in class Arithmetic

getCoercedValue

public Value getCoercedValue(Value leftValue,
                             Value rightValue,
                             java.lang.String result)
Since VB returns an integer result if the denominator evenly divides the numerator even though the two operands are real, we extend getCoercedValue() to handle this

Overrides:
getCoercedValue in class Arithmetic