com.singularsys.jep.functions
Class Comparative
java.lang.Object
com.singularsys.jep.functions.PostfixMathCommand
com.singularsys.jep.functions.BinaryFunction
com.singularsys.jep.functions.Comparative
- All Implemented Interfaces:
- PostfixMathCommandI, java.io.Serializable
- Direct Known Subclasses:
- NullSafeEquals
public class Comparative
- extends BinaryFunction
Implements the comparative operations <, >, <=, >=, != and ==.
The <, >, <=, >= operators only work on Double type, while
the != and == operators also work on String and Vector arguments.
For other types, care might be needed.
Complex numbers are compared using a tolerance which can be set
using setTolerance().
- Since:
- 2.3.0 beta 1 a bit of a rewrite to make sub classing
easier, now allows Complex to be compared to Double i.e. 1+0 i == 1., 2.3.0 beta 2 changed the internal lt,gt,le,ge,ne and eq
method to return boolean.
If this breaks anything use
if (lt(obj1,obj2)) inStack.push(new Double(1));
else inStack.push(new Double(0));
- Author:
- N Funk and R Morris
- See Also:
- Serialized Form
Field Summary |
static int |
EQ
|
static int |
GE
|
static int |
GT
|
protected int |
id
Used to represent which operator the class represents. |
static int |
LE
|
static int |
LT
|
static int |
NE
|
Method Summary |
boolean |
compare(java.lang.Object param1,
java.lang.Object param2)
|
boolean |
eq(java.lang.Object param1,
java.lang.Object param2)
|
java.lang.Object |
eval(java.lang.Object l,
java.lang.Object r)
|
boolean |
ge(java.lang.Object param1,
java.lang.Object param2)
|
double |
getTolerance()
Returns the tolerance used for comparing complex numbers |
boolean |
gt(java.lang.Object param1,
java.lang.Object param2)
|
boolean |
le(java.lang.Object param1,
java.lang.Object param2)
|
boolean |
lt(java.lang.Object param1,
java.lang.Object param2)
|
boolean |
ne(java.lang.Object param1,
java.lang.Object param2)
|
void |
setTolerance(double d)
Sets the tolerance used for comparing complex numbers |
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand |
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, checkStack, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
id
protected final int id
- Used to represent which operator the class represents.
LT
public static final int LT
- See Also:
- Constant Field Values
GT
public static final int GT
- See Also:
- Constant Field Values
LE
public static final int LE
- See Also:
- Constant Field Values
GE
public static final int GE
- See Also:
- Constant Field Values
NE
public static final int NE
- See Also:
- Constant Field Values
EQ
public static final int EQ
- See Also:
- Constant Field Values
Comparative
public Comparative(int id_in)
- Constructor. Sets the number of parameters to 2. Initializes the
tolerance for comparing Complex values.
- Parameters:
id_in
- The id of the comparative operator.
Comparative
public Comparative(int id,
double tolerance)
- Parameters:
id
- tolerance
- tolerance for comparing Complex values
eval
public java.lang.Object eval(java.lang.Object l,
java.lang.Object r)
throws EvaluationException
- Specified by:
eval
in class BinaryFunction
- Throws:
EvaluationException
compare
public boolean compare(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
lt
public boolean lt(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
gt
public boolean gt(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
le
public boolean le(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
ge
public boolean ge(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
eq
public boolean eq(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
ne
public boolean ne(java.lang.Object param1,
java.lang.Object param2)
throws EvaluationException
- Throws:
EvaluationException
getTolerance
public double getTolerance()
- Returns the tolerance used for comparing complex numbers
setTolerance
public void setTolerance(double d)
- Sets the tolerance used for comparing complex numbers
- Parameters:
d
-
Copyright © 2010 Singular Systems http://www.singularsys.com/jep