public NodeValue exec(NodeValue v1, NodeValue v2) {
switch (XSDFuncOp.classifyNumeric("pow", v1))
{
case OP_INTEGER:
BigInteger i = v1.getInteger();
return NodeValue.makeInteger( i.pow(v2.getInteger().intValue()) );
case OP_DECIMAL:
double dec = v1.getDecimal().doubleValue() ;
return NodeValue.makeDecimal( Math.pow(dec, v2.getDouble())) ;
case OP_FLOAT:
// TODO Should raising a float to a power keep it a float?