public final class Irr extends java.lang.Object implements Function
| Constructor and Description | 
|---|
| Irr() | 
| Modifier and Type | Method and Description | 
|---|---|
| ValueEval | evaluate(ValueEval[] args,
        int srcRowIndex,
        int srcColumnIndex) | 
| static double | irr(double[] income)Computes the internal rate of return using an estimated irr of 10 percent. | 
| static double | irr(double[] values,
   double guess)Calculates IRR using the Newton-Raphson Method. | 
public ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
evaluate in interface Functionargs - the evaluated function arguments.  Empty values are represented with
 BlankEval or MissingArgEval, never null.srcRowIndex - row index of the cell containing the formula under evaluationsrcColumnIndex - column index of the cell containing the formula under evaluationErrorEval, never null.
 Note - Excel uses the error code #NUM! instead of IEEE NaN, so when
 numeric functions evaluate to Double.NaN be sure to translate the result to ErrorEval.NUM_ERROR.public static double irr(double[] income)
income - the income values.public static double irr(double[] values,
                         double guess)
Starting with the guess, the method cycles through the calculation until the result is accurate within 0.00001 percent. If IRR can't find a result that works after 20 tries, the Double.NaN<> is returned.
The implementation is inspired by the NewtonSolver from the Apache Commons-Math library,
values - the income values.guess - the initial guess of irr.Double.NaN
  if the maximum iteration count is exceededCopyright 2021 The Apache Software Foundation or its licensors, as applicable.