org.sbml.jsbml.util.compilers
public interface ASTNodeCompiler
ASTNode
s. It defines how to perform mathematical or
other operations on these data types. Recursion can be performed as follows:
public ASTNodeValue doSomeThing(ASTNode ast) { ... ASTNodeValue child = ast.compile(this); ... return new ASTNodeValue(doSomeThing(child), this); }
Modifier and Type | Method and Description |
---|---|
ASTNodeValue |
abs(ASTNode value)
The absolute value represented by the given
ASTNode . |
ASTNodeValue |
and(java.util.List<ASTNode> values) |
ASTNodeValue |
arccos(ASTNode value) |
ASTNodeValue |
arccosh(ASTNode value) |
ASTNodeValue |
arccot(ASTNode value) |
ASTNodeValue |
arccoth(ASTNode value) |
ASTNodeValue |
arccsc(ASTNode value) |
ASTNodeValue |
arccsch(ASTNode value) |
ASTNodeValue |
arcsec(ASTNode value) |
ASTNodeValue |
arcsech(ASTNode value) |
ASTNodeValue |
arcsin(ASTNode value) |
ASTNodeValue |
arcsinh(ASTNode value) |
ASTNodeValue |
arctan(ASTNode value) |
ASTNodeValue |
arctanh(ASTNode value) |
ASTNodeValue |
ceiling(ASTNode value) |
ASTNodeValue |
compile(CallableSBase variable) |
ASTNodeValue |
compile(Compartment c) |
ASTNodeValue |
compile(double mantissa,
int exponent,
java.lang.String units)
Creates an
ASTNodeValue that represents a real number in
scientific notation, i.e., mantissa * 10^exponent, and the given units. |
ASTNodeValue |
compile(double real,
java.lang.String units) |
ASTNodeValue |
compile(int integer,
java.lang.String units) |
ASTNodeValue |
compile(java.lang.String name)
A compiler will also have to deal with a name.
|
ASTNodeValue |
cos(ASTNode value) |
ASTNodeValue |
cosh(ASTNode value) |
ASTNodeValue |
cot(ASTNode value) |
ASTNodeValue |
coth(ASTNode value) |
ASTNodeValue |
csc(ASTNode value) |
ASTNodeValue |
csch(ASTNode value) |
ASTNodeValue |
delay(java.lang.String delayName,
ASTNode x,
ASTNode delay,
java.lang.String timeUnits)
Evaluates delay functions.
|
ASTNodeValue |
eq(ASTNode left,
ASTNode right)
Equal.
|
ASTNodeValue |
exp(ASTNode value) |
ASTNodeValue |
factorial(ASTNode value) |
ASTNodeValue |
floor(ASTNode value) |
ASTNodeValue |
frac(ASTNode numerator,
ASTNode denominator)
Fraction of two
ASTNode s |
ASTNodeValue |
frac(int numerator,
int denominator)
A fraction of two int values.
|
ASTNodeValue |
function(FunctionDefinition functionDefinition,
java.util.List<ASTNode> args) |
ASTNodeValue |
function(java.lang.String functionDefinitionName,
java.util.List<ASTNode> args) |
ASTNodeValue |
geq(ASTNode left,
ASTNode right)
Greater equal.
|
ASTNodeValue |
getConstantAvogadro(java.lang.String name)
Creates an
ASTNodeValue that represent's Avogadro's number. |
ASTNodeValue |
getConstantE() |
ASTNodeValue |
getConstantFalse() |
ASTNodeValue |
getConstantPi() |
ASTNodeValue |
getConstantTrue() |
ASTNodeValue |
getNegativeInfinity() |
ASTNodeValue |
getPositiveInfinity() |
ASTNodeValue |
gt(ASTNode left,
ASTNode right)
Greater than.
|
ASTNodeValue |
lambda(java.util.List<ASTNode> values)
The body of a
FunctionDefinition . |
ASTNodeValue |
leq(ASTNode left,
ASTNode right)
Less equal.
|
ASTNodeValue |
ln(ASTNode value)
Natural logarithm.
|
ASTNodeValue |
log(ASTNode value)
Logarithm of the given value to base 10.
|
ASTNodeValue |
log(ASTNode base,
ASTNode value)
Logarithm of the given value to the given base.
|
ASTNodeValue |
lt(ASTNode left,
ASTNode right)
Less than.
|
ASTNodeValue |
minus(java.util.List<ASTNode> values)
Subtraction.
|
ASTNodeValue |
neq(ASTNode left,
ASTNode right)
Not equal.
|
ASTNodeValue |
not(ASTNode value) |
ASTNodeValue |
or(java.util.List<ASTNode> values) |
ASTNodeValue |
piecewise(java.util.List<ASTNode> values) |
ASTNodeValue |
plus(java.util.List<ASTNode> values) |
ASTNodeValue |
pow(ASTNode base,
ASTNode exponent) |
ASTNodeValue |
root(ASTNode rootExponent,
ASTNode radiant) |
ASTNodeValue |
root(double rootExponent,
ASTNode radiant) |
ASTNodeValue |
sec(ASTNode value) |
ASTNodeValue |
sech(ASTNode value) |
ASTNodeValue |
selector(java.util.List<ASTNode> nodes) |
ASTNodeValue |
sin(ASTNode value) |
ASTNodeValue |
sinh(ASTNode value) |
ASTNodeValue |
sqrt(ASTNode radiant)
Square root.
|
ASTNodeValue |
symbolTime(java.lang.String time)
The simulation time.
|
ASTNodeValue |
tan(ASTNode value) |
ASTNodeValue |
tanh(ASTNode value) |
ASTNodeValue |
times(java.util.List<ASTNode> values)
Product of all given
ASTNode s. |
ASTNodeValue |
uMinus(ASTNode value)
Unary minus, i.e., negation of the given
ASTNode . |
ASTNodeValue |
unknownValue()
Dealing with a malformed
ASTNode . |
ASTNodeValue |
vector(java.util.List<ASTNode> nodes)
Dealing with a vector.
|
ASTNodeValue |
xor(java.util.List<ASTNode> values)
Exclusive or.
|
ASTNodeValue abs(ASTNode value) throws SBMLException
ASTNode
.value
- Must be interpretable as a Number
.SBMLException
ASTNodeValue and(java.util.List<ASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue arccos(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccosh(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccot(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccoth(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccsc(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccsch(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsec(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsech(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsin(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsinh(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arctan(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arctanh(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue ceiling(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue compile(Compartment c)
c
- ASTNodeValue compile(double mantissa, int exponent, java.lang.String units)
ASTNodeValue
that represents a real number in
scientific notation, i.e., mantissa * 10^exponent, and the given units.mantissa
- The number to be multiplied with ten to the power of the given
exponent.exponent
- The exponent for the multiplier ten.units
- The identifier of the units object associated with the number
represented by this element. Can be null if no units have been
defined.ASTNodeValue compile(double real, java.lang.String units)
real
- units
- A String representing the Unit
of the given number.
This can be the identifier of a UnitDefinition
in the
model or a literal in Unit.Kind
. Can be null if no units
have been defined.ASTNodeValue compile(int integer, java.lang.String units)
integer
- units
- A String representing the Unit
of the given number.
This can be the identifier of a UnitDefinition
in the
model or a literal in Unit.Kind
. Can be null if no units
have been defined.ASTNodeValue compile(CallableSBase variable) throws SBMLException
variable
- SBMLException
ASTNodeValue compile(java.lang.String name)
Species
in the
system. In case of numerical computation, the ASTNodeCompiler
must create an ASTNodeValue
representing the current value of
this Species
.name
- ASTNodeValue cos(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue cosh(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue cot(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue coth(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue csc(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue csch(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue delay(java.lang.String delayName, ASTNode x, ASTNode delay, java.lang.String timeUnits) throws SBMLException
delayName
- the name of this delay function.x
- delay
- an expression of a positive duration time (the amoutn of
delay)timeUnits
- the units for the delay.SBMLException
ASTNodeValue eq(ASTNode left, ASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue exp(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue factorial(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue floor(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue frac(ASTNode numerator, ASTNode denominator) throws SBMLException
ASTNode
snumerator
- denominator
- SBMLException
ASTNodeValue frac(int numerator, int denominator) throws SBMLException
numerator
- denominator
- SBMLException
ASTNodeValue function(FunctionDefinition functionDefinition, java.util.List<ASTNode> args) throws SBMLException
functionDefinition
- args
- Values to be inserted into the parameter list of the
function.SBMLException
ASTNodeValue function(java.lang.String functionDefinitionName, java.util.List<ASTNode> args) throws SBMLException
functionDefinitionName
- args
- Values to be inserted into the parameter list of the
function.SBMLException
ASTNodeValue geq(ASTNode left, ASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue getConstantAvogadro(java.lang.String name)
ASTNodeValue
that represent's Avogadro's number.
Optionally, the compiler may associate the given name with this number.name
- An optional name for Avogadro's number.ASTNodeValue getConstantE()
ASTNodeValue getConstantFalse()
ASTNodeValue getConstantPi()
ASTNodeValue getConstantTrue()
ASTNodeValue getNegativeInfinity() throws SBMLException
SBMLException
ASTNodeValue getPositiveInfinity()
ASTNodeValue gt(ASTNode left, ASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue lambda(java.util.List<ASTNode> values) throws SBMLException
FunctionDefinition
.values
- Place holders for arguments.SBMLException
ASTNodeValue leq(ASTNode left, ASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue ln(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue log(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue log(ASTNode base, ASTNode value) throws SBMLException
base
- value
- SBMLException
ASTNodeValue lt(ASTNode left, ASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue minus(java.util.List<ASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue neq(ASTNode left, ASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue not(ASTNode value) throws SBMLException
value
- This value must be interpretable as a Boolean
.SBMLException
ASTNodeValue or(java.util.List<ASTNode> values) throws SBMLException
values
- These values must be interpretable as a Boolean
.SBMLException
ASTNodeValue piecewise(java.util.List<ASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue plus(java.util.List<ASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue pow(ASTNode base, ASTNode exponent) throws SBMLException
base
- exponent
- SBMLException
ASTNodeValue root(ASTNode rootExponent, ASTNode radiant) throws SBMLException
rootExponent
- radiant
- SBMLException
ASTNodeValue root(double rootExponent, ASTNode radiant) throws SBMLException
rootExponent
- radiant
- SBMLException
ASTNodeValue sec(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue sech(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue selector(java.util.List<ASTNode> nodes) throws SBMLException
nodes
- SBMLException
ASTNodeValue sin(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue sinh(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue sqrt(ASTNode radiant) throws SBMLException
radiant
- This value must be interpretable as a Number
.SBMLException
ASTNodeValue symbolTime(java.lang.String time)
time
- The name of the time symbol.ASTNodeValue
that represents the current time.ASTNodeValue tan(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue tanh(ASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue times(java.util.List<ASTNode> values) throws SBMLException
ASTNode
s.values
- These values must be interpretable to Number
.SBMLException
ASTNodeValue uMinus(ASTNode value) throws SBMLException
ASTNode
.value
- SBMLException
ASTNodeValue unknownValue() throws SBMLException
ASTNode
.SBMLException
ASTNodeValue vector(java.util.List<ASTNode> nodes) throws SBMLException
SBMLException
ASTNodeValue xor(java.util.List<ASTNode> values) throws SBMLException
values
- It must be possible to evaluate the given values to
Boolean
.SBMLException