@Override public ASTNodeValue and(List<ASTNode> values) throws SBMLException { for (ASTNode value : values) { value.compile(this); } return dummyValue; }
@Override public ASTNodeValue arccos(ASTNode value) throws SBMLException { value.compile(this); return dummyValue; }
@Override public ASTNodeValue arccosh(ASTNode value) throws SBMLException { value.compile(this); return dummyValue; }
@Override public ASTNodeValue ceiling(ASTNode value) throws SBMLException { value.compile(this); return dummyValue; }
@Override public ASTNodeValue cot(ASTNode value) throws SBMLException { value.compile(this); return dummyValue; }
@Override public ASTNodeValue lambda(List<ASTNode> values) throws SBMLException { for (ASTNode value : values) { value.compile(this); } return dummyValue; }
@Override public ASTNodeValue plus(List<ASTNode> values) throws SBMLException { for (ASTNode value : values) { value.compile(this); } return dummyValue; }
@Override public ASTNodeValue root(double rootExponent, ASTNode radiant) throws SBMLException { radiant.compile(this); return dummyValue; }
@Override public ASTNodeValue ceiling(ASTNode value) throws SBMLException { StringBuffer ceiling = new StringBuffer("\\left\\lceil "); ceiling.append(value.compile(this).toString()); ceiling.append("\\right\\rceil "); return new ASTNodeValue(ceiling.toString(), this); }
@Override public ASTNodeValue log(ASTNode base, ASTNode value) throws SBMLException { StringBuilder v = new StringBuilder("\\log"); if (base != null) { StringTools.append(v, "_{", base.compile(this), "}"); } StringTools.append(v, "{", value.isUnary() ? value.compile(this) : brackets(value.compile(this)), "}"); return new ASTNodeValue(v.toString(), this); }
@Override public ASTNodeValue arccos(ASTNode value) throws SBMLException { return new ASTNodeValue(command("arccos", value.compile(this)) .toString(), this); }
@Override public ASTNodeValue log(ASTNode base, ASTNode value) throws DOMException, SBMLException { ASTNodeValue v = createApplyNode("log", value); if (base != null) { Element logbase = document.createElement("logbase"); logbase.appendChild(base.compile(this).toNode()); v.toNode().insertBefore(logbase, v.toNode().getFirstChild().getNextSibling()); } return v; }
@Override public ASTNodeValue root(double rootExponent, ASTNode radiant) throws SBMLException { if (rootExponent == 2d) { return sqrt(radiant); } return new ASTNodeValue(concat("\\sqrt[", rootExponent, "]{", radiant.compile(this), Character.valueOf('}')).toString(), this); }
@Override public ASTNodeValue eq(ASTNode left, ASTNode right) throws SBMLException { ASTNodeValue v = dimensionless(), leftvalue, rightvalue; leftvalue = left.compile(this); rightvalue = right.compile(this); unifyUnits(leftvalue, rightvalue); v.setValue(leftvalue.toDouble() == rightvalue.toDouble()); return v; }
@Override public ASTNodeValue delay(String delayName, ASTNode x, ASTNode delay, String timeUnits) throws SBMLException { // TODO: deal with units. return new ASTNodeValue(concat( mathrm(maskSpecialChars(delayName)), brackets(concat(x.compile(this).toString(), ", ", delay .compile(this).toString()))).toString(), this); }
@Override public ASTNodeValue log(ASTNode number, ASTNode base) throws SBMLException { ASTNodeValue v = number.compile(this); ASTNodeValue b = base.compile(this); checkForDimensionlessOrInvalidUnits(v.getUnits()); checkForDimensionlessOrInvalidUnits(b.getUnits()); v.setValue(Maths.log(v.toDouble(), b.toDouble())); return v; }
@Override public ASTNodeValue arctanh(ASTNode value) throws SBMLException { ASTNodeValue v = value.compile(this); checkForDimensionlessOrInvalidUnits(v.getUnits()); v.setValue(Maths.arctanh(v.toDouble())); return v; }