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:
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
- Author:
- Richard Morris
- See Also:
-
Field Summary
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
checkNumberOfParameters
(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 Variable
getVariable
(Evaluator pv, ASTVarNode node) Find the variable associated with a node.void
Performs appropriate action to set an LValue.Methods inherited from class com.singularsys.jep.functions.NaryFunction
run
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, getName, getNumberOfParameters, setCurNumberOfParameters, 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:PostfixMathCommand
Checks the number of parameters of the function. Functions which set numberOfParameter=-1 should overload this method- Specified by:
checkNumberOfParameters
in interfacePostfixMathCommandI
- Overrides:
checkNumberOfParameters
in classPostfixMathCommand
- Parameters:
n
- number of parameters function will be called with.- Returns:
- false if an illegal number of parameters is supplied, true otherwise.
-
set
Description copied from interface:LValueI
Performs appropriate action to set an LValue.- Specified by:
set
in 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 LValuevalue
- the value obtained by evaluating the right-hand side.- Throws:
EvaluationException
- if the calculation cannot be performed
-
eval
Description copied from class:NaryFunction
Evaluate the function- Specified by:
eval
in 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
-
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
-