code: public double evaluate(final double[] values, final double p) {
          test(values, 0, 0);
          return evaluate(values, 0, values.length, p);
      }
docs: Returns an estimate of the <code>p</code>th percentile of the values
  in the <code>values</code> array.
  <p>
  Calls to this method do not modify the internal <code>quantile</code>
  state of this statistic.
  <p>
  <ul>
  <li>Returns <code>Double.NaN</code> if <code>values</code> has length
  <code>0</code></li>
  <li>Returns (for any value of <code>p</code>) <code>values[0]</code>
  if <code>values</code> has length <code>1</code></li>
  <li>Throws <code>IllegalArgumentException</code> if <code>values</code>
  is null </li>
  </ul>
  <p>
  See {@link Percentile} for a description of the percentile estimation
  algorithm used.
  
  @param values input array of values
  @param p the percentile value to compute
  @return the result of the evaluation or Double.NaN if the array is empty
  @throws IllegalArgumentException if <code>values</code> is null