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 toLogGamma.value(double)
.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LogFactorial
create()
Creates an instance with no precomputed values.double
value(int n)
Computes \( log_e(n!)LogFactorial
withCache(int cacheSize)
Creates an instance with the specified cache size.
-
-
-
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
- ifcacheSize < 0
.
-
value
public double value(int n)
Computes \( log_e(n!) \).- Parameters:
n
- Argument.- Returns:
log(n!)
.- Throws:
IllegalArgumentException
- ifn < 0
.
-
-