Package com.singularsys.jep

# Interface PostfixMathCommandI

All Superinterfaces:
  `Serializable`

All Known Implementing Classes:
  `Abs`, `AbstractInc`, `Add`, `AlternateFunctions`, `ArcCosine`, `ArcCosineH`, `ArcSine`, `ArcSineH`, `ArcTangent`, `ArcTangent2`, `ArcTanH`, `Arg`, `ArrayFunctionBase`, `Assign`, `AssignableList`, `Average`, `BigDecAbs`, `BigDecAdd`, `BigDecDiv`, `BigDecMod`, `BigDecMul`, `BigDecNegate`, `BigDecPow`, `BigDecRelational`, `BigDecRound`, `BigDecRoundSigFig`, `BigDecSignum`, `BigDecSub`, `BigDecTieBreakComparative`, `BigDecVSum`, `BinaryFunction`, `Binomial`, `BitAnd`, `BitComp`, `BitOr`, `BitXor`, `Case`, `CaseNonLazy`, `Ceil`, `Clear`, `Comparative`, `ComplexPFMC`, `Concat`, `Conjugate`, `ConstantFunction`, `ContainsKey`, `Cosecant`, `Cosine`, `CosineH`, `Cotangent`, `Count`, `Cross`, `Divide`, `Dot`, `Ele`, `ElementOf`, `Entries`, `EntriesIterable`, `Exp`, `ExpandingEle`, `Factorial`, `Floor`, `FromBase`, `Get`, `GetOr`, `Identity`, `If`, `Imaginary`, `IsInfinite`, `IsNaN`, `IsNull`, `IsType`, `JepTest.AddFractionsNary`, `JepTest.AddFractionsStack`, `JepTest.Diff`, `JepTest.MyBinary`, `JepTest.MyNary`, `JepTest.MyNaryBinary`, `JepTest.MyNullary`, `JepTest.MyUnary`, `JepTest.PiFun`, `JepTest.Product`, `JepTest.Square`, `Keys`, `KeysIterable`, `LazyLogical`, `Left`, `Length`, `List`, `Logarithm`, `LogBase2`, `Logical`, `LogTwoArg`, `LowerCase`, `LShift`, `MacroFunction`, `MakeMap`, `MapPfmc`, `MapPfmc.MapEntryPfmc`, `Mid`, `MinMax`, `ModifiedParserTest.BadFun`, `ModifiedParserTest.SeqFun`, `Modulus`, `Multiply`, `NaryBinaryFunction`, `NaryFunction`, `NaturalLogarithm`, `Not`, `NullaryFunction`, `NullSafeEquals`, `NullWrappedAbstractInc`, `NullWrappedBinary`, `NullWrappedIf`, `NullWrappedLazyLogical`, `NullWrappedNary`, `NullWrappedNaryBinary`, `NullWrappedPfmc`, `NullWrappedUnary`, `NullWrapTest.MyBinary`, `NullWrapTest.MyNary`, `NullWrapTest.MyNaryBinary`, `NullWrapTest.MyPfmc`, `NullWrapTest.MyUnary`, `OpEquals`, `OverloadedBinaryFunction`, `OverloadedFunctionByStructure`, `OverloadedNaryFunction`, `OverloadedNaryFunctionTest.StringSelect`, `OverloadedUnaryFunction`, `Polar`, `PostDec`, `PostfixMathCommand`, `PostInc`, `Power`, `PreDec`, `PreInc`, `Put`, `Random`, `Range`, `Real`, `Remainder`, `Remove`, `Right`, `RInt`, `Round`, `RoundBD`, `RoundSF`, `RShift`, `Secant`, `Signum`, `Sine`, `SineH`, `Size`, `SquareRoot`, `Str`, `StrictNaturalLogarithm`, `Substring`, `Subtract`, `Sum`, `Switch`, `SwitchDefault`, `SwitchDefaultNonLazy`, `SwitchNonLazy`, `Tangent`, `TanH`, `TernaryConditional`, `ThreadSafeAssign`, `ThreadSafeEle`, `ThreadSafeRandom`, `ToBase`, `Trim`, `UMinus`, `UnaryFunction`, `UpperCase`, `URShift`, `Values`, `ValuesIterable`, `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`
  `checkNumberOfParameters(int n)`
  Checks the number of parameters of the function.
  `String`
  `getDescription()`
  Returns a description of the function.
  `String`
  `getName()`
  The name of the function used in error messages
  `int`
  `getNumberOfParameters()`
  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`
  `setCurNumberOfParameters(int n)`
  Sets the number of current number of parameters used in the next call of run().
  `void`
  `setName(String name)`
  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

  - ### getDescription

    String getDescription()
    Returns a description of the function.
    Returns:
      the string description of the function