Package com.singularsys.jep
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
All function classes must implement this interface to ensure that the run()
method is implemented.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
checkNumberOfParameters
(int n) Checks the number of parameters of the function.getName()
The name of the function used in error messagesint
Returns the number of required parameters, or -1 if any number of parameters is allowed.void
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
Sets the name of the function used for error messages
-
Method Details
-
run
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
Sets the name of the function used for error messages- Parameters:
name
- the function name
-