Class FactorialDouble
- java.lang.Object
-
- org.apache.commons.numbers.combinatorics.FactorialDouble
-
public final class FactorialDouble extends Object
Class for computing the natural logarithm of the factorial of a number. It allows to allocate a cache of precomputed values.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FactorialDouble
create()
Creates an instance with no precomputed values.double
value(int n)
Computes the factorial ofn
.FactorialDouble
withCache(int cacheSize)
Creates an instance with the specified cache size.
-
-
-
Method Detail
-
create
public static FactorialDouble create()
Creates an instance with no precomputed values.- Returns:
- instance with no precomputed values
-
withCache
public FactorialDouble 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 the factorial ofn
. The result should be small enough to fit into adouble
: The largestn
for whichn!
does not exceedDouble.MAX_VALUE
is 170.Double.POSITIVE_INFINITY
is returned forn > 170
.- Parameters:
n
- Argument.- Returns:
n!
- Throws:
IllegalArgumentException
- ifn < 0
.
-
-