public class UserFunction extends java.lang.Object implements KnownFunction, MultiVarFunction
Modifier and Type | Class and Description |
---|---|
protected static class |
UserFunction.Loader
A class to save and load UserFunction data in an XMLControl.
|
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
description |
protected java.lang.String[] |
dummyVars |
protected java.lang.String |
expression |
protected MultiVarFunction |
function |
protected java.lang.String |
inputString |
protected java.lang.String |
name |
protected boolean |
nameEditable |
protected java.lang.String[] |
paramNames |
protected double[] |
paramValues |
protected UserFunction[] |
references |
protected java.lang.String[] |
vars |
Constructor and Description |
---|
UserFunction(java.lang.String name)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
double |
evaluate(double x)
Evaluates the function for a single variable x.
|
double |
evaluate(double[] x)
Evaluates the function for a variables array x.
|
protected double[] |
evaluateSupportFunctions(double x)
Evaluates the support functions for a single variable x.
|
protected double[] |
evaluateSupportFunctions(double[] x)
Evaluates the support functions for a variables array x.
|
java.lang.String |
getDescription()
Gets the description of this function.
|
java.lang.String |
getExpression()
Gets the expression.
|
java.lang.String |
getExpression(java.lang.String indepVarName)
Gets the expression and sets the independent variable.
|
java.lang.String |
getExpression(java.lang.String[] varNames)
Gets the expression and sets the independent variables.
|
java.lang.String |
getIndependentVariable()
Gets the current independent variable.
|
java.lang.String[] |
getIndependentVariables()
Gets the current independent variables.
|
java.lang.String |
getInputString()
Gets the expression.
|
static XML.ObjectLoader |
getLoader()
Returns the XML.ObjectLoader for this class.
|
java.lang.String |
getName()
Gets the name.
|
int |
getParameterCount()
Gets the parameter count.
|
java.lang.String |
getParameterName(int i)
Gets a parameter name.
|
double |
getParameterValue(int i)
Gets a parameter value.
|
boolean |
isNameEditable()
Returns true if the name is user-editable.
|
void |
setDescription(java.lang.String desc)
Sets the description of this function.
|
boolean |
setExpression(java.lang.String exp,
java.lang.String[] varNames)
Sets the expression.
|
void |
setName(java.lang.String name)
Sets the name.
|
void |
setNameEditable(boolean editable)
Sets the name editable property.
|
void |
setParameters(java.lang.String[] names,
double[] values)
Sets the parameters.
|
void |
setParameterValue(int i,
double value)
Sets a parameter value.
|
void |
setReferences(UserFunction[] functions)
Sets the reference functions.
|
protected java.lang.String name
protected java.lang.String[] paramNames
protected double[] paramValues
protected java.lang.String expression
protected java.lang.String inputString
protected java.lang.String[] dummyVars
protected MultiVarFunction function
protected java.lang.String[] vars
protected UserFunction[] references
protected boolean nameEditable
protected java.lang.String description
public UserFunction(java.lang.String name)
name
- the function namepublic java.lang.String getName()
public void setName(java.lang.String name)
name
- the namepublic boolean isNameEditable()
public void setNameEditable(boolean editable)
editable
- true if editablepublic java.lang.String getIndependentVariable()
public java.lang.String[] getIndependentVariables()
public java.lang.String getInputString()
public java.lang.String getExpression()
public java.lang.String getExpression(java.lang.String indepVarName)
getExpression
in interface KnownFunction
indepVarName
- the name of the independent variablepublic java.lang.String getExpression(java.lang.String[] varNames)
varNames
- the name of the independent variablespublic boolean setExpression(java.lang.String exp, java.lang.String[] varNames)
exp
- a parsable expression of the parameters and variablesvarNames
- the name of the independent variablespublic int getParameterCount()
getParameterCount
in interface KnownFunction
public java.lang.String getParameterName(int i)
getParameterName
in interface KnownFunction
i
- the parameter indexpublic double getParameterValue(int i)
getParameterValue
in interface KnownFunction
i
- the parameter indexpublic void setParameterValue(int i, double value)
setParameterValue
in interface KnownFunction
i
- the parameter indexvalue
- the valuepublic void setParameters(java.lang.String[] names, double[] values)
names
- the parameter namesvalues
- the parameter valuespublic void setReferences(UserFunction[] functions)
functions
- the functions referenced by this onepublic java.lang.String getDescription()
public void setDescription(java.lang.String desc)
desc
- the descriptionpublic double evaluate(double x)
public double evaluate(double[] x)
evaluate
in interface MultiVarFunction
x
- protected double[] evaluateSupportFunctions(double x)
x
- protected double[] evaluateSupportFunctions(double[] x)
x
- public static XML.ObjectLoader getLoader()