Package uk.ac.starlink.ttools.jel
Class JELFunction
java.lang.Object
uk.ac.starlink.ttools.jel.JELFunction
- All Implemented Interfaces:
DoubleUnaryOperator
Provides a double precision function of one double precision
variable which can be evaluated using JEL.
The variable name and an expression giving the result in terms of that
variable name are supplied.
Instances of this class are not threadsafe, but could be made so
by putting a lock on the evaluate(double)
method.
- Since:
- 14 Jun 2012
- Author:
- Mark Taylor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
This public class is an implementation detail, not intended for external use. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble
applyAsDouble
(double x) Does exactly the same asevaluate(double)
.double
evaluate
(double x) Evaluates this function at a given value of the independent variable.Returns the text of the function expression.Returns the name of the independent variable.static void
Main method tests this class.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.DoubleUnaryOperator
andThen, compose
-
Constructor Details
-
JELFunction
Constructor.- Parameters:
xvarname
- name of the independent variable (for instance "x")fexpr
- text of expression giving the function value, in terms ofxvarname
(for instance "x+1")- Throws:
gnu.jel.CompilationException
-
-
Method Details
-
evaluate
public double evaluate(double x) Evaluates this function at a given value of the independent variable. In case of an evaluation error of some kind, NaN is returned.- Parameters:
x
- variable value- Returns:
- function value
-
applyAsDouble
public double applyAsDouble(double x) Does exactly the same asevaluate(double)
.- Specified by:
applyAsDouble
in interfaceDoubleUnaryOperator
-
getXVarName
Returns the name of the independent variable.- Returns:
- x variable name
-
getExpression
Returns the text of the function expression.- Returns:
- function expression
-
main
Main method tests this class. Args are varname, expr, varvalue, for instance "x", "3x+1", "29"
-