Class LogFactorial

java.lang.Object
org.apache.commons.numbers.combinatorics.LogFactorial

public final class LogFactorial extends Object
Class for computing the natural logarithm of the factorial of a number. It allows to allocate a cache of precomputed values. In case of cache miss, computation is performed by a call to LogGamma.value(double).
  • Method Details

    • create

      public static LogFactorial create()
      Creates an instance with no precomputed values.
      Returns:
      instance with no precomputed values
    • withCache

      public LogFactorial withCache(int cacheSize)
      Creates an instance with the specified cache size.
      Parameters:
      cacheSize - Number of precomputed values of the function.
      Returns:
      a new instance where cacheSize values have been precomputed.
      Throws:
      IllegalArgumentException - if cacheSize < 0.
    • value

      public double value(int n)
      Computes \( log_e(n!) \).
      Parameters:
      n - Argument.
      Returns:
      log(n!).
      Throws:
      IllegalArgumentException - if n < 0.