org.simulator.sbml.astnode
Class ASTNodeInterpreter
java.lang.Object
org.simulator.sbml.astnode.ASTNodeInterpreter
public class ASTNodeInterpreter
- extends Object
This class is an efficient ASTNodeInterpreter
that takes the time of
the calculation into account. It contains functions similar to the
ASTNodeCompiler
interface, which have the current time as additional
argument.
- Since:
- 1.0
- Version:
- $Rev: 205 $
- Author:
- Roland Keller
Method Summary |
double |
abs(ASTNodeValue userObject,
double time,
double delay)
|
boolean |
and(ASTNodeValue[] children,
int size,
double time)
|
double |
arccos(ASTNodeValue userObject,
double time,
double delay)
|
double |
arccosh(ASTNodeValue userObject,
double time,
double delay)
|
double |
arccot(ASTNodeValue userObject,
double time,
double delay)
|
double |
arccoth(ASTNodeValue userObject,
double time,
double delay)
|
double |
arccsc(ASTNodeValue userObject,
double time,
double delay)
|
double |
arccsch(ASTNodeValue userObject,
double time,
double delay)
|
double |
arcsec(ASTNodeValue userObject,
double time,
double delay)
|
double |
arcsech(ASTNodeValue userObject,
double time,
double delay)
|
double |
arcsin(ASTNodeValue userObject,
double time,
double delay)
|
double |
arcsinh(ASTNodeValue userObject,
double time,
double delay)
|
double |
arctan(ASTNodeValue userObject,
double time,
double delay)
|
double |
arctanh(ASTNodeValue userObject,
double time,
double delay)
|
double |
ceiling(ASTNodeValue userObject,
double time,
double delay)
|
double |
compile(double mantissa,
int exponent,
String units)
|
double |
compile(double value,
String units)
|
boolean |
compileBoolean(CallableSBase nsb,
double time)
|
double |
compileDouble(CallableSBase nsb,
double time,
double delay)
|
double |
compileDouble(String name,
double time,
double delay)
|
String |
compileString(ASTNode child)
|
String |
compileString(ASTNodeValue child)
|
double |
cos(ASTNodeValue userObject,
double time,
double delay)
|
double |
cosh(ASTNodeValue userObject,
double time,
double delay)
|
double |
cot(ASTNodeValue userObject,
double time,
double delay)
|
double |
coth(ASTNodeValue userObject,
double time,
double delay)
|
double |
csc(ASTNodeValue userObject,
double time,
double delay)
|
double |
csch(ASTNodeValue userObject,
double time,
double delay)
|
double |
delay(ASTNodeValue x,
ASTNodeValue delay,
String timeUnits,
double time)
|
boolean |
eq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
exp(ASTNodeValue userObject,
double time,
double delay)
|
double |
factorial(ASTNodeValue userObject,
double time,
double delay)
|
double |
floor(ASTNodeValue userObject,
double time,
double delay)
|
double |
frac(ASTNodeValue left,
ASTNodeValue right,
double time,
double delay)
|
double |
frac(int numerator,
int denominator)
|
boolean |
functionBoolean(ASTNodeValue rightChild,
List<String> variables,
ASTNodeValue[] children,
double[] values,
double time)
|
boolean |
functionBoolean(String name,
List<ASTNodeValue> children)
|
double |
functionDouble(ASTNodeValue rightChild,
List<String> variables,
ASTNodeValue[] children,
int nArguments,
double[] values,
double time)
|
double |
functionDouble(String functionDefinitionName,
List<ASTNodeValue> args,
double time)
|
boolean |
geq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
boolean |
gt(ASTNodeValue left,
ASTNodeValue right,
double time)
|
boolean |
lambdaBoolean(ASTNodeValue[] children,
double time)
|
double |
lambdaDouble(ASTNodeValue[] children,
double time)
|
boolean |
leq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
ln(ASTNodeValue userObject,
double time,
double delay)
|
double |
log(ASTNodeValue left,
ASTNodeValue right,
double time,
double delay)
|
double |
log(ASTNodeValue userObject,
double time,
double delay)
|
boolean |
lt(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
minus(ASTNodeValue[] children,
int size,
double time,
double delay)
|
boolean |
neq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
boolean |
not(ASTNodeValue node,
double time)
|
boolean |
or(ASTNodeValue[] children,
double time)
|
double |
piecewise(ASTNodeValue[] children,
double time,
double delay)
|
double |
plus(ASTNodeValue[] children,
int size,
double time,
double delay)
|
double |
pow(ASTNodeValue left,
ASTNodeValue right,
double time,
double delay)
|
double |
root(ASTNodeValue rootExponent,
ASTNodeValue radiant,
double time,
double delay)
|
double |
root(double rootExponent,
ASTNodeValue userObject,
double time,
double delay)
|
double |
sec(ASTNodeValue userObject,
double time,
double delay)
|
double |
sech(ASTNodeValue userObject,
double time,
double delay)
|
double |
sin(ASTNodeValue userObject,
double time,
double delay)
|
double |
sinh(ASTNodeValue userObject,
double time,
double delay)
|
double |
sqrt(ASTNodeValue userObject,
double time,
double delay)
|
double |
symbolTime()
|
double |
tan(ASTNodeValue userObject,
double time,
double delay)
|
double |
tanh(ASTNodeValue userObject,
double time,
double delay)
|
double |
times(ASTNodeValue[] children,
int size,
double time,
double delay)
|
String |
toString(ASTNode value)
|
double |
uMinus(ASTNodeValue userObject,
double time,
double delay)
|
boolean |
xor(ASTNodeValue[] children,
double time)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
public static final Logger logger
- A logger.
ASTNodeInterpreter
public ASTNodeInterpreter(SBMLValueHolder valueHolder)
- Parameters:
valueHolder
-
toString
public final String toString(ASTNode value)
- Parameters:
value
-
- Returns:
- stringValue the interpreted String value of the node
compileDouble
public double compileDouble(String name,
double time,
double delay)
- Parameters:
name
- time
-
- Returns:
- doubleValue the interpreted double value of the node
compileDouble
public double compileDouble(CallableSBase nsb,
double time,
double delay)
- Parameters:
nsb
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
compileBoolean
public boolean compileBoolean(CallableSBase nsb,
double time)
- Parameters:
nsb
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
functionDouble
public double functionDouble(ASTNodeValue rightChild,
List<String> variables,
ASTNodeValue[] children,
int nArguments,
double[] values,
double time)
- Parameters:
rightChild
- variables
- children
- nArguments
- values
- time
-
- Returns:
- doubleValue the interpreted double value of the node
compileString
public String compileString(ASTNodeValue child)
- Parameters:
child
-
- Returns:
- stringValue the interpreted String value of the node
compileString
public String compileString(ASTNode child)
- Parameters:
child
-
- Returns:
- stringValue the interpreted String value of the node
lambdaDouble
public double lambdaDouble(ASTNodeValue[] children,
double time)
- Parameters:
children
- time
-
- Returns:
- doubleValue the interpreted double value of the node
lambdaBoolean
public boolean lambdaBoolean(ASTNodeValue[] children,
double time)
- Parameters:
children
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
piecewise
public double piecewise(ASTNodeValue[] children,
double time,
double delay)
- Parameters:
children
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
log
public double log(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
log
public double log(ASTNodeValue left,
ASTNodeValue right,
double time,
double delay)
- Parameters:
left
- right
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
functionDouble
public double functionDouble(String functionDefinitionName,
List<ASTNodeValue> args,
double time)
- Parameters:
functionDefinitionName
- args
- time
-
- Returns:
- doubleValue the interpreted double value of the nodedoubleValue the interpreted double value of the node
tanh
public double tanh(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
tan
public double tan(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
sinh
public double sinh(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
sin
public double sin(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
sech
public double sech(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
sec
public double sec(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
root
public double root(ASTNodeValue rootExponent,
ASTNodeValue radiant,
double time,
double delay)
- Parameters:
rootExponent
- radiant
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
root
public double root(double rootExponent,
ASTNodeValue userObject,
double time,
double delay)
- Parameters:
rootExponent
- userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
ln
public double ln(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
floor
public double floor(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
factorial
public double factorial(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
exp
public double exp(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
csch
public double csch(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
csc
public double csc(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
coth
public double coth(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
cot
public double cot(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
cosh
public double cosh(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
cos
public double cos(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
ceiling
public double ceiling(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arctanh
public double arctanh(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
functionBoolean
public boolean functionBoolean(String name,
List<ASTNodeValue> children)
- Parameters:
name
- children
-
- Returns:
- booleanValue the interpreted boolean value of the node
functionBoolean
public boolean functionBoolean(ASTNodeValue rightChild,
List<String> variables,
ASTNodeValue[] children,
double[] values,
double time)
- Parameters:
rightChild
- variables
- children
- values
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
lt
public boolean lt(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
leq
public boolean leq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
neq
public boolean neq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
gt
public boolean gt(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
geq
public boolean geq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
eq
public boolean eq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
not
public boolean not(ASTNodeValue node,
double time)
- Parameters:
node
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
or
public boolean or(ASTNodeValue[] children,
double time)
- Parameters:
children
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
xor
public boolean xor(ASTNodeValue[] children,
double time)
- Parameters:
children
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
and
public boolean and(ASTNodeValue[] children,
int size,
double time)
- Parameters:
children
- time
-
- Returns:
- booleanValue the interpreted boolean value of the node
arctan
public double arctan(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arcsinh
public double arcsinh(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arcsin
public double arcsin(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arcsech
public double arcsech(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arcsec
public double arcsec(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arccsch
public double arccsch(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arccsc
public double arccsc(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arccoth
public double arccoth(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arccot
public double arccot(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arccosh
public double arccosh(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
arccos
public double arccos(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
abs
public double abs(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
compile
public double compile(double mantissa,
int exponent,
String units)
- Parameters:
mantissa
- exponent
- units
-
- Returns:
- doubleValue the interpreted double value of the node
delay
public final double delay(ASTNodeValue x,
ASTNodeValue delay,
String timeUnits,
double time)
- Parameters:
x
- delay
- timeUnits
- time
-
- Returns:
- doubleValue the interpreted double value of the node
symbolTime
public double symbolTime()
- Returns:
- doubleValue the interpreted double value of the node
frac
public double frac(int numerator,
int denominator)
- Parameters:
numerator
- denominator
-
- Returns:
- doubleValue the interpreted double value of the node
frac
public double frac(ASTNodeValue left,
ASTNodeValue right,
double time,
double delay)
- Parameters:
left
- right
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
times
public double times(ASTNodeValue[] children,
int size,
double time,
double delay)
- Parameters:
children
- size
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
minus
public double minus(ASTNodeValue[] children,
int size,
double time,
double delay)
- Parameters:
children
- size
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
plus
public double plus(ASTNodeValue[] children,
int size,
double time,
double delay)
- Parameters:
children
- size
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
pow
public double pow(ASTNodeValue left,
ASTNodeValue right,
double time,
double delay)
- Parameters:
left
- right
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
compile
public double compile(double value,
String units)
- Parameters:
value
- units
-
- Returns:
- doubleValue the interpreted double value of the node
sqrt
public double sqrt(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node
uMinus
public double uMinus(ASTNodeValue userObject,
double time,
double delay)
- Parameters:
userObject
- time
- delay
-
- Returns:
- doubleValue the interpreted double value of the node