Class 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 Detail

      • 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.