Package com.singularsys.jep.functions
Class Ele
java.lang.Object
com.singularsys.jep.functions.PostfixMathCommand
com.singularsys.jep.functions.NaryFunction
com.singularsys.jep.functions.Ele
- All Implemented Interfaces:
LValueI,PostfixMathCommandI,Serializable
- Direct Known Subclasses:
ExpandingEle,ThreadSafeEle
Function which allows array access using the a[3] notation on left and
right-hand side. The first element is indexed with 1.
a=[4,3,2,1];
a[2]; // Returns 2
a[2]=5; // Sets the 2nd element of a to 5. So a is now [4,5,2,1]
// Two dimensional matrices only work with the configurable parser
b=[[1,2,3],[4,5,6]];
b[2][3]; // returns 6
b[2][3]=7; // sets 3rd element of 2nd row to 7
- Since:
- Jep 4.1 can work with
List<?>. - Author:
- Richard Morris
- See Also:
-
Field Summary
FieldsFields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, description, name, NaN, numberOfParameters -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckNumberOfParameters(int n) Checks the number of parameters of the function.Find the element of an array.Find the element of a vectorFind element of a multi-dimensional arrayFind the element of a matrixEvaluate the functionprotected intFind the index from the indexObject.protected VariablegetVariable(Evaluator pv, ASTVarNode node) Find the variable associated with a node.voidSets an element of an vector valued variable.Methods inherited from class com.singularsys.jep.functions.NaryFunction
runMethods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, asType, getDescription, getDescription, getDescriptionWithType, getName, getNumberOfParameters, setCurNumberOfParameters, setDescription, setName, toString, toString
-
Field Details
-
indexShift
protected final int indexShift
-
-
Constructor Details
-
Ele
public Ele()Element access with mathematical convention, first element has an index of 1. -
Ele
public Ele(boolean javaIndex) Element access, either java convention (first element has an index of 0) or mathematical convention (first element has an index of 1) can be specified.- Parameters:
javaIndex- whether to use the java convention, if true index start at 0.
-
-
Method Details
-
checkNumberOfParameters
public boolean checkNumberOfParameters(int n) Description copied from class:PostfixMathCommandChecks the number of parameters of the function. Functions which set numberOfParameter=-1 should overload this method- Specified by:
checkNumberOfParametersin interfacePostfixMathCommandI- Overrides:
checkNumberOfParametersin classPostfixMathCommand- Parameters:
n- number of parameters function will be called with.- Returns:
- false if an illegal number of parameters is supplied, true otherwise.
-
set
Sets an element of an vector valued variable. For the expressionu[2] = 5the left hand node is ASTOpNode for the Ele pfmc the method will be called likeset(pv,lhs,5);The value of the variable will be replaced by a newVector<Object>with the appropriate element replaced.- Specified by:
setin interfaceLValueI- Parameters:
pv- a pointer to the evaluator. The pv.eval() method can be used to evaluate the children of the node.node- The top node for the LValue, root should be the ASTOpNode for the Ele pfmc.value- the value obtained by evaluating the right-hand side.- Throws:
EvaluationException- if the calculation cannot be performed
-
eval
Description copied from class:NaryFunctionEvaluate the function- Specified by:
evalin classNaryFunction- Parameters:
args- arguments to the function- Returns:
- value returned by the function
- Throws:
EvaluationException- if the calculation cannot be performed
-
ele
Find the element of an array. Callsele(Object, Object),ele(Object, Object, Object)orele(Object, Object[])depending on number of arguments.- Parameters:
args- First element is the vector or matrix, subsequent elements are indices- Returns:
- the element referred to by the indices
- Throws:
EvaluationException- if the calculation cannot be performed
-
ele
Find the element of a vector- Parameters:
vec- the vectorindexObject- the index either as a vector with a single value or as a single value.- Returns:
- element of vec referred to by the index.
- Throws:
EvaluationException- if the calculation cannot be performed- Since:
- 3.4.0
-
findIndex
Find the index from the indexObject. If indexObject is a vector with a single value, that value is used as the index. Otherwise indexObject is converted to an integer and used as the index.- Parameters:
indexObject- the index either as a vector with a single value or as a single value.- Returns:
- the index
- Throws:
EvaluationException- if the calculation cannot be performedIllegalParameterException- if the parameter is not valid
-
ele
Find the element of a matrix- Parameters:
mat- the matrix represented a Vector<Vector<Object>>row- the indexcol- the index- Returns:
- element of matrix referred to by row/col
- Throws:
EvaluationException- if the calculation cannot be performed- Since:
- 3.4.0
-
ele
Find element of a multi-dimensional array- Parameters:
mat- the arrayargs- array of indices- Returns:
- element in mat referred to by indices
- Throws:
EvaluationException- if the calculation cannot be performed- Since:
- 3.4.0
-
getVariable
Find the variable associated with a node. Overridden by subclasses which require thread-safety.- Parameters:
pv- the evaluatornode- the node- Returns:
- the variable
- Since:
- 3.5
-