public ValueEval evaluate(int srcRowIndex, int srcColumnIndex,ValueEval arg0, ValueEval arg1) {double result;try {ValueVector vvY = createValueVector(arg0);ValueVector vvX = createValueVector(arg1);int size = vvX.getSize();if (size == 0 || vvY.getSize() != size) {return ErrorEval.NA;}result = evaluateInternal(vvX, vvY, size);} catch (EvaluationException e) {return e.getErrorEval();}if (Double.isNaN(result) || Double.isInfinite(result)) {return ErrorEval.NUM_ERROR;}return new NumberEval(result);}

public override ValueEval Evaluate(int srcRowIndex, int srcColumnIndex,ValueEval arg0, ValueEval arg1){double result;try{ValueVector vvY = CreateValueVector(arg0);ValueVector vvX = CreateValueVector(arg1);int size = vvX.Size;if (size == 0 || vvY.Size != size){return ErrorEval.NA;}result = EvaluateInternal(vvX, vvY, size);}catch (EvaluationException e){return e.GetErrorEval();}if (Double.IsNaN(result) || Double.IsInfinity(result)){return ErrorEval.NUM_ERROR;}return new NumberEval(result);}
