Interface PostfixMathCommandI

All Superinterfaces:
Serializable
All Known Implementing Classes:
Abs, AbstractInc, Add, ArcCosine, ArcCosineH, ArcSine, ArcSineH, ArcTangent, ArcTangent2, ArcTanH, Arg, ArrayFunctionBase, Assign, Average, BigDecAbs, BigDecAdd, BigDecDiv, BigDecMod, BigDecMul, BigDecNegate, BigDecPow, BigDecRelational, BigDecRound, BigDecRoundSigFig, BigDecSignum, BigDecSub, BigDecTieBreakComparative, BinaryFunction, Binomial, BitAnd, BitComp, BitOr, BitXor, BugsTest.StackMessingFunc, Case, Ceil, Comparative, ComplexPFMC, Concat, Conjugate, ConstantFunction, Cosecant, Cosine, CosineH, Cotangent, Cross, Divide, Dot, Ele, ElementOf, Exp, Factorial, Floor, FromBase, Identity, If, Imaginary, IsInfinite, IsNaN, IsNull, JepTest.AddFractionsNary, JepTest.AddFractionsStack, JepTest.Diff, JepTest.MyBinary, JepTest.MyNary, JepTest.MyNaryBinary, JepTest.MyNullary, JepTest.MyUnary, JepTest.PiFun, JepTest.Product, JepTest.Square, LazyLogical, Left, Length, List, Logarithm, LogBase2, Logical, LogTwoArg, LowerCase, LShift, MacroFunction, Mid, MinMax, Modulus, Multiply, NaryBinaryFunction, NaryFunction, NaturalLogarithm, Not, NullaryFunction, NullSafeEquals, NullWrappedAbstractInc, NullWrappedBinary, NullWrappedIf, NullWrappedLazyLogical, NullWrappedNary, NullWrappedNaryBinary, NullWrappedPfmc, NullWrappedUnary, OpEquals, Polar, PostDec, PostfixMathCommand, PostInc, Power, PreDec, PreInc, Random, Real, Remainder, Right, RInt, Round, RoundBD, RoundSF, RShift, Secant, Signum, Sine, SineH, SquareRoot, Str, StrictNaturalLogarithm, Substring, Subtract, Sum, Switch, SwitchDefault, Tangent, TanH, TernaryConditional, ThreadSafeAssign, ThreadSafeEle, ToBase, Trim, UMinus, UnaryFunction, UpperCase, URShift, VSum

public interface PostfixMathCommandI extends Serializable
All function classes must implement this interface to ensure that the run() method is implemented.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Checks the number of parameters of the function.
    The name of the function used in error messages
    int
    Returns the number of required parameters, or -1 if any number of parameters is allowed.
    void
    run(Stack<Object> stack)
    Run the function on the stack.
    void
    Sets the number of current number of parameters used in the next call of run().
    void
    Sets the name of the function used for error messages
  • Method Details

    • run

      void run(Stack<Object> stack) throws EvaluationException
      Run the function on the stack. Pops the arguments from the stack, and pushes the result on the top of the stack.
      Parameters:
      stack - arguments for function
      Throws:
      EvaluationException - if function cannot be evaluated
    • getNumberOfParameters

      int getNumberOfParameters()
      Returns the number of required parameters, or -1 if any number of parameters is allowed.
      Returns:
      allowable number of parameters, -1 if a variable number is allowed
    • setCurNumberOfParameters

      void setCurNumberOfParameters(int n)
      Sets the number of current number of parameters used in the next call of run(). This method is only called when the reqNumberOfParameters is -1.
      Parameters:
      n - number of parameter for next call of function
    • checkNumberOfParameters

      boolean checkNumberOfParameters(int n)
      Checks the number of parameters of the function. This method is called during the parsing of the equation to check syntax. Functions which set numberOfParameter=-1 should overwrite this method.
      Parameters:
      n - number of parameters function will be called with.
      Returns:
      False if an illegal number of parameters is supplied, true otherwise.
    • getName

      String getName()
      The name of the function used in error messages
      Returns:
      the function name
    • setName

      void setName(String name)
      Sets the name of the function used for error messages
      Parameters:
      name - the function name