public final ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0) {double val;try {ValueEval ve = OperandResolver.getSingleValue(arg0, srcRowIndex, srcColumnIndex);val = OperandResolver.coerceValueToDouble(ve);} catch (EvaluationException e) {return e.getErrorEval();}if (val < 0) {return ErrorEval.NUM_ERROR;}return new NumberEval(getCalField(val));}
public override ValueEval Evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0){double val;try{ValueEval ve = OperandResolver.GetSingleValue(arg0, srcRowIndex, srcColumnIndex);val = OperandResolver.CoerceValueToDouble(ve);}catch (EvaluationException e){return e.GetErrorEval();}if (val < 0){return ErrorEval.NUM_ERROR;}return new NumberEval(GetCalField(val));}