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: 203 $
- Author:
- Roland Keller
Method Summary |
double |
abs(ASTNodeValue userObject,
double time)
|
boolean |
and(List<ASTNodeValue> nodes,
int size,
double time)
|
double |
arccos(ASTNodeValue userObject,
double time)
|
double |
arccosh(ASTNodeValue userObject,
double time)
|
double |
arccot(ASTNodeValue userObject,
double time)
|
double |
arccoth(ASTNodeValue userObject,
double time)
|
double |
arccsc(ASTNodeValue userObject,
double time)
|
double |
arccsch(ASTNodeValue userObject,
double time)
|
double |
arcsec(ASTNodeValue userObject,
double time)
|
double |
arcsech(ASTNodeValue userObject,
double time)
|
double |
arcsin(ASTNodeValue userObject,
double time)
|
double |
arcsinh(ASTNodeValue userObject,
double time)
|
double |
arctan(ASTNodeValue userObject,
double time)
|
double |
arctanh(ASTNodeValue userObject,
double time)
|
double |
ceiling(ASTNodeValue userObject,
double time)
|
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 |
compileDouble(String name,
double time)
|
String |
compileString(ASTNode child)
|
String |
compileString(ASTNodeValue child)
|
double |
cos(ASTNodeValue userObject,
double time)
|
double |
cosh(ASTNodeValue userObject,
double time)
|
double |
cot(ASTNodeValue userObject,
double time)
|
double |
coth(ASTNodeValue userObject,
double time)
|
double |
csc(ASTNodeValue userObject,
double time)
|
double |
csch(ASTNodeValue userObject,
double time)
|
double |
delay(String delayName,
ASTNodeValue x,
ASTNodeValue delay,
String timeUnits,
double time)
|
boolean |
eq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
exp(ASTNodeValue userObject,
double time)
|
double |
factorial(ASTNodeValue userObject,
double time)
|
double |
floor(ASTNodeValue userObject,
double time)
|
double |
frac(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
frac(int numerator,
int denominator)
|
boolean |
functionBoolean(ASTNodeValue rightChild,
List<String> variables,
List<ASTNodeValue> arguments,
double[] values,
double time)
|
boolean |
functionBoolean(String name,
List<ASTNodeValue> children)
|
double |
functionDouble(ASTNodeValue rightChild,
List<String> variables,
List<ASTNodeValue> arguments,
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(List<ASTNodeValue> nodes,
double time)
|
double |
lambdaDouble(List<ASTNodeValue> nodes,
double time)
|
boolean |
leq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
ln(ASTNodeValue userObject,
double time)
|
double |
log(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
log(ASTNodeValue userObject,
double time)
|
boolean |
lt(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
minus(List<ASTNodeValue> nodes,
int size,
double time)
|
boolean |
neq(ASTNodeValue left,
ASTNodeValue right,
double time)
|
boolean |
not(ASTNodeValue node,
double time)
|
boolean |
or(List<ASTNodeValue> nodes,
double time)
|
double |
piecewise(List<ASTNodeValue> nodes,
double time)
|
double |
plus(List<ASTNodeValue> nodes,
int size,
double time)
|
double |
pow(ASTNodeValue left,
ASTNodeValue right,
double time)
|
double |
root(ASTNodeValue rootExponent,
ASTNodeValue radiant,
double time)
|
double |
root(double rootExponent,
ASTNodeValue userObject,
double time)
|
double |
sec(ASTNodeValue userObject,
double time)
|
double |
sech(ASTNodeValue userObject,
double time)
|
double |
sin(ASTNodeValue userObject,
double time)
|
double |
sinh(ASTNodeValue userObject,
double time)
|
double |
sqrt(ASTNodeValue userObject,
double time)
|
double |
symbolTime(String name)
|
double |
tan(ASTNodeValue userObject,
double time)
|
double |
tanh(ASTNodeValue userObject,
double time)
|
double |
times(List<ASTNodeValue> nodes,
int size,
double time)
|
String |
toString(ASTNode value)
|
double |
uMinus(ASTNodeValue userObject,
double time)
|
boolean |
xor(List<ASTNodeValue> nodes,
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:
compileDouble
public double compileDouble(String name,
double time)
- Parameters:
name
- time
-
- Returns:
compileDouble
public double compileDouble(CallableSBase nsb,
double time)
- Parameters:
nsb
- time
-
- Returns:
compileBoolean
public boolean compileBoolean(CallableSBase nsb,
double time)
- Parameters:
nsb
- time
-
- Returns:
functionDouble
public double functionDouble(ASTNodeValue rightChild,
List<String> variables,
List<ASTNodeValue> arguments,
int nArguments,
double[] values,
double time)
- Parameters:
rightChild
- variables
- arguments
- nArguments
- values
- time
-
- Returns:
compileString
public String compileString(ASTNodeValue child)
- Parameters:
child
-
- Returns:
compileString
public String compileString(ASTNode child)
- Parameters:
child
-
- Returns:
lambdaDouble
public double lambdaDouble(List<ASTNodeValue> nodes,
double time)
- Parameters:
nodes
- time
-
- Returns:
lambdaBoolean
public boolean lambdaBoolean(List<ASTNodeValue> nodes,
double time)
- Parameters:
nodes
- time
-
- Returns:
piecewise
public double piecewise(List<ASTNodeValue> nodes,
double time)
- Parameters:
nodes
- time
-
- Returns:
log
public double log(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
log
public double log(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
functionDouble
public double functionDouble(String functionDefinitionName,
List<ASTNodeValue> args,
double time)
- Parameters:
functionDefinitionName
- args
- time
-
- Returns:
tanh
public double tanh(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
tan
public double tan(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
sinh
public double sinh(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
sin
public double sin(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
sech
public double sech(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
sec
public double sec(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
root
public double root(ASTNodeValue rootExponent,
ASTNodeValue radiant,
double time)
- Parameters:
rootExponent
- radiant
- time
-
- Returns:
root
public double root(double rootExponent,
ASTNodeValue userObject,
double time)
- Parameters:
rootExponent
- userObject
- time
-
- Returns:
ln
public double ln(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
floor
public double floor(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
factorial
public double factorial(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
exp
public double exp(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
csch
public double csch(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
csc
public double csc(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
coth
public double coth(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
cot
public double cot(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
cosh
public double cosh(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
cos
public double cos(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
ceiling
public double ceiling(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arctanh
public double arctanh(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
functionBoolean
public boolean functionBoolean(String name,
List<ASTNodeValue> children)
- Parameters:
name
- children
-
- Returns:
functionBoolean
public boolean functionBoolean(ASTNodeValue rightChild,
List<String> variables,
List<ASTNodeValue> arguments,
double[] values,
double time)
- Parameters:
rightChild
- variables
- arguments
- values
- time
-
- Returns:
lt
public boolean lt(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
leq
public boolean leq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
neq
public boolean neq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
gt
public boolean gt(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
geq
public boolean geq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
eq
public boolean eq(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
not
public boolean not(ASTNodeValue node,
double time)
- Parameters:
node
- time
-
- Returns:
or
public boolean or(List<ASTNodeValue> nodes,
double time)
- Parameters:
nodes
- time
-
- Returns:
xor
public boolean xor(List<ASTNodeValue> nodes,
double time)
- Parameters:
nodes
- time
-
- Returns:
and
public boolean and(List<ASTNodeValue> nodes,
int size,
double time)
- Parameters:
nodes
- time
-
- Returns:
arctan
public double arctan(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arcsinh
public double arcsinh(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arcsin
public double arcsin(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arcsech
public double arcsech(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arcsec
public double arcsec(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arccsch
public double arccsch(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arccsc
public double arccsc(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arccoth
public double arccoth(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arccot
public double arccot(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arccosh
public double arccosh(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
arccos
public double arccos(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
abs
public double abs(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
compile
public double compile(double mantissa,
int exponent,
String units)
- Parameters:
mantissa
- exponent
- units
-
- Returns:
delay
public final double delay(String delayName,
ASTNodeValue x,
ASTNodeValue delay,
String timeUnits,
double time)
- Parameters:
delayName
- x
- delay
- timeUnits
- time
-
- Returns:
symbolTime
public double symbolTime(String name)
- Parameters:
name
-
- Returns:
frac
public double frac(int numerator,
int denominator)
- Parameters:
numerator
- denominator
-
- Returns:
frac
public double frac(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
times
public double times(List<ASTNodeValue> nodes,
int size,
double time)
- Parameters:
nodes
- size
- time
-
- Returns:
minus
public double minus(List<ASTNodeValue> nodes,
int size,
double time)
- Parameters:
nodes
- size
- time
-
- Returns:
plus
public double plus(List<ASTNodeValue> nodes,
int size,
double time)
- Parameters:
nodes
- size
- time
-
- Returns:
pow
public double pow(ASTNodeValue left,
ASTNodeValue right,
double time)
- Parameters:
left
- right
- time
-
- Returns:
compile
public double compile(double value,
String units)
- Parameters:
value
- units
-
- Returns:
sqrt
public double sqrt(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns:
uMinus
public double uMinus(ASTNodeValue userObject,
double time)
- Parameters:
userObject
- time
-
- Returns: