@Override public ASTNodeValue root(ASTNode rootExponent, ASTNode radiant) throws SBMLException { if (rootExponent.isSetUnits()) { checkForDimensionlessOrInvalidUnits(rootExponent.getUnitsInstance()); } if (rootExponent.isNumber()) { if (!(rootExponent.isInteger() || rootExponent.isRational())) { checkForDimensionlessOrInvalidUnits(rootExponent .getUnitsInstance()); } return root(rootExponent.compile(this).toDouble(), radiant); } return invalid(); }