Package com.singularsys.jep.misc
Class ExtendedOperatorSet
java.lang.Object
com.singularsys.jep.EmptyOperatorTable
com.singularsys.jep.OperatorTable2
com.singularsys.jep.standard.StandardOperatorTable2
com.singularsys.jep.misc.ExtendedOperatorSet
- All Implemented Interfaces:
JepComponent
,OperatorTableI
,Serializable
An example of an OperatorSet which adds two
suffix operators: n! (factorial) and n% (percentage).
Since 3.5 the ternary conditional has been removed as this is already part of the JavaOperatorSet.
The Factorial function has been moved from an inner class to its own class
Factorial
.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.singularsys.jep.OperatorTable2
OperatorTable2.BasicOperators, OperatorTable2.PsudoOperators, OperatorTable2.SpecialOperators
Nested classes/interfaces inherited from class com.singularsys.jep.EmptyOperatorTable
EmptyOperatorTable.OperatorKey
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Create a new version of this OperatorTable.Methods inherited from class com.singularsys.jep.standard.StandardOperatorTable2
setBasicPfmcs, setPsudoPfmcs, setSpecialPfmcs
Methods inherited from class com.singularsys.jep.OperatorTable2
getAdd, getAnd, getAssign, getCross, getDivide, getDot, getEle, getEQ, getGE, getGT, getLE, getList, getLT, getMod, getMultiply, getNE, getNop, getNot, getOr, getPower, getRange, getSubtract, getUDivide, getUMinus, getUPlus
Methods inherited from class com.singularsys.jep.EmptyOperatorTable
addOperator, addOperator, addOperator, appendOperator, appendOperator, entrySet, getKey, getLightWeightInstance, getNumOps, getOperator, getOperatorMap, getOperators, getOperatorsByName, getOperatorsBySymbol, init, insertOperator, insertOperator, keySet, removeOperator, removeOperator, replaceOperator, replaceOperator, setBinaryInverseOp, setDistributiveOver, setGroupOperatorRelations, setGroupOperatorRelations, setInverseOp, setPrecedenceTable, setRootOp, setStandardOperatorRelations, threadSafeMapCopy, toString
-
Constructor Details
-
ExtendedOperatorSet
public ExtendedOperatorSet() -
ExtendedOperatorSet
- Parameters:
oldTable
-
-
ExtendedOperatorSet
-
-
Method Details
-
setExtendedPfmcs
protected void setExtendedPfmcs() -
shallowCopy
Description copied from class:EmptyOperatorTable
Create a new version of this OperatorTable. Operators are copied into new table. However, Operators whose pfmc implement JepComponent are duplicated. This means the table could be used in a separate thread without problem. Subclasses should override with method to return a table of the correct type, a typical implementation would be@Override public OperatorTableI shallowCopy() { Map<OperatorKey, Operator> map = this.threadSafeMapCopy(); return new MyOperatorTable(map); }
using theEmptyOperatorTable.threadSafeMapCopy()
method to return a copy of the map of operators and a constructor taking this map which uses theEmptyOperatorTable(Map)
constructor.- Specified by:
shallowCopy
in interfaceOperatorTableI
- Overrides:
shallowCopy
in classStandardOperatorTable2
- Returns:
- a new Table
-