org.sbml.jsbml.math.compiler
public interface AbstractASTNodeCompiler
ASTNode2
s. It defines how to perform mathematical or
other operations on these data types. Recursion can be performed as follows:
public ASTNodeValue doSomeThing(AbstractASTNode ast) { ... ASTNodeValue child = ast.compile(this); ... return new ASTNodeValue(doSomeThing(child), this); }
ASTNodeValue abs(AbstractASTNode value) throws SBMLException
AbstractASTNode
.value
- Must be interpretable as a Number
.SBMLException
ASTNodeValue and(java.util.List<AbstractASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue arccos(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccosh(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccot(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccoth(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccsc(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arccsch(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsec(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsech(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsin(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arcsinh(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arctan(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue arctanh(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue ceiling(AbstractASTNode 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(AbstractASTNode node)
node
- 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(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue cosh(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue cot(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue coth(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue csc(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue csch(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue delay(java.lang.String delayName, AbstractASTNode x, AbstractASTNode 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(AbstractASTNode left, AbstractASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue exp(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue factorial(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue floor(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue frac(AbstractASTNode numerator, AbstractASTNode denominator) throws SBMLException
AbstractASTNode
snumerator
- denominator
- SBMLException
ASTNodeValue frac(int numerator, int denominator) throws SBMLException
numerator
- denominator
- SBMLException
ASTNodeValue function(FunctionDefinition functionDefinition, java.util.List<AbstractASTNode> 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<AbstractASTNode> args) throws SBMLException
functionDefinition
- nameargs
- Values to be inserted into the parameter list of the
function.SBMLException
ASTNodeValue geq(AbstractASTNode left, AbstractASTNode 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(AbstractASTNode left, AbstractASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue lambda(java.util.List<AbstractASTNode> values) throws SBMLException
FunctionDefinition
.values
- Place holders for arguments.SBMLException
ASTNodeValue leq(AbstractASTNode left, AbstractASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue ln(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue log(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue log(AbstractASTNode base, AbstractASTNode value) throws SBMLException
base
- value
- SBMLException
ASTNodeValue lt(AbstractASTNode left, AbstractASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue minus(java.util.List<AbstractASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue neq(AbstractASTNode left, AbstractASTNode right) throws SBMLException
left
- right
- SBMLException
ASTNodeValue not(AbstractASTNode value) throws SBMLException
value
- This value must be interpretable as a Boolean
.SBMLException
ASTNodeValue or(java.util.List<AbstractASTNode> values) throws SBMLException
values
- These values must be interpretable as a Boolean
.SBMLException
ASTNodeValue piecewise(java.util.List<AbstractASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue plus(java.util.List<AbstractASTNode> values) throws SBMLException
values
- SBMLException
ASTNodeValue pow(AbstractASTNode base, AbstractASTNode exponent) throws SBMLException
base
- exponent
- SBMLException
ASTNodeValue root(AbstractASTNode rootExponent, AbstractASTNode radiant) throws SBMLException
rootExponent
- radiant
- SBMLException
ASTNodeValue root(double rootExponent, AbstractASTNode radiant) throws SBMLException
rootExponent
- radiant
- SBMLException
ASTNodeValue sec(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue sech(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue selector(java.util.List<AbstractASTNode> nodes) throws SBMLException
value
- SBMLException
ASTNodeValue sin(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue sinh(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue sqrt(AbstractASTNode 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(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue tanh(AbstractASTNode value) throws SBMLException
value
- SBMLException
ASTNodeValue times(java.util.List<AbstractASTNode> values) throws SBMLException
AbstractASTNode
s.values
- These values must be interpretable to Number
.SBMLException
ASTNodeValue uMinus(AbstractASTNode value) throws SBMLException
AbstractASTNode
.value
- SBMLException
ASTNodeValue unknownValue() throws SBMLException
AbstractASTNode
.SBMLException
ASTNodeValue vector(java.util.List<AbstractASTNode> nodes) throws SBMLException
SBMLException
ASTNodeValue xor(java.util.List<AbstractASTNode> values) throws SBMLException
values
- It must be possible to evaluate the given values to
Boolean
.SBMLException