class Hypergeometric {

  public double logfact(int i) {
    /*
     * Make sure value is already in lfactorial. If not, calculate all
     * values up to that for i
     */
    if (i > (lfactorial.size() - 1)) {
      for (int j = lfactorial.size(); j <= i; j++) {
        double lf = lfactorial.get(j - 1)
          + Math.log(j);
        lfactorial.add(j, lf);
      }
    }

    return lfactorial.get(i);
  }

  public  Hypergeometric();

}