text: public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval numberVE) {final String number;if (numberVE instanceof RefEval) {RefEval re = (RefEval) numberVE;number = OperandResolver.coerceValueToString(re.getInnerValueEval(re.getFirstSheetIndex()));} else {number = OperandResolver.coerceValueToString(numberVE);}if (number.length() > 10) {return ErrorEval.NUM_ERROR;}String unsigned;boolean isPositive;if (number.length() < 10) {unsigned = number;isPositive = true;} else {unsigned = number.substring(1);isPositive = number.startsWith("0");}String value;try {if (isPositive) {int sum = getDecimalValue(unsigned);value = String.valueOf(sum);} else {String inverted = toggleBits(unsigned);int sum = getDecimalValue(inverted);sum++;value = "-" + sum;}} catch (NumberFormatException e) {return ErrorEval.NUM_ERROR;}return new NumberEval(Long.parseLong(value));}