Type 
Changes 
By 

Add a user guide. Fixes NUMBERS70. 
aherbert 

Add a Bill of Materials (BOM) to aid in dependency management when referencing
multiple Apache Commons Numbers artifacts. The BOM should be used to ensure all
imported artifacts are compatible. Fixes NUMBERS190. 
aherbert 

"Precision": Allow Precision.compareTo using a maxUlps to be used for sorting.
This corrects handling of NaN comparisons. Fixes NUMBERS185. 
aherbert 

"Precision": Reduce number of operations in Precision.equals using a maxUlps. Fixes NUMBERS184. 
aherbert 

Updated support for the beta functions. "RegularizedBeta": Added the
complement and derivative of the regularized beta function.
Added "IncompleteBeta" and "Beta" classes.
Functionality is ported from the Boost C++ library. Fixes NUMBERS181. 
aherbert 

Improve the binomial coefficient classes. Avoid recursive method calls.
Avoid overflow for BinomialCoefficientDouble for large results close to infinity.
Use precomputed factorials and the LogBeta function for efficiency. Fixes NUMBERS183. 
aherbert 

"LogBeta": Avoid overflow for tiny arguments. Fixes NUMBERS182. 
aherbert 

"GammaRatio": Compute the ratio of two gamma functions. Fixes NUMBERS180. 
aherbert 

"BrentSolver": Avoid overflow creating the initial value between the lower and upper. 
aherbert 

"Erfcx": Compute a scaled complementary error function:
erfcx(z) = erfc(z) * exp(z*z). Fixes NUMBERS177. 
aherbert 

"Factorial/FactorialDouble": Tabulate all factorials with exact 64bit double
representations of n! up to n=170. This change deprecates the FactorialDouble
class and removes obsolete caching functionality. Fixes NUMBERS178. 
aherbert 

"ContinuedFraction": Update to use a shared implementation with
GeneralizedContinuedFraction. Fixes NUMBERS176. 
aherbert 

"Gamma/LogGamma/RegularizedGamma": Update the gamma function implementations to
increase accuracy and support for extreme values.
Functionality is ported from the Boost C++ library. Fixes NUMBERS174. 
aherbert 

"GeneralizedContinuedFraction": A continued fraction class to compute using a
generator. Allows evaluation of continued fractions from a regular series where
coefficients can be computed iteratively from the previous coefficients. Fixes NUMBERS175. 
aherbert 

"ContinuedFraction": Set a minimum bound on the relative error epsilon. Prevents
an infinite loop when the epsilon is zero. Fixes NUMBERS173. 
aherbert 

"FactorialDouble": Prevent caching values that are infinite. The cache will support
factorials up to 170. 
aherbert 

"Erf/Erfc": Use a rational function approximation accurate to 53bits of precision.
This replaces the use of the regularized gamma functions P and Q and increases accuracy
at extreme limits of the function. Execution speed is improved.
Functionality is ported from the Boost C++ library. Fixes NUMBERS172. 
aherbert 

"InverseErfc": Support full range of [0, 2]. This lowers the supported
minimum value from 2^53 to double min value. Execution speed is improved.
Functionality is ported from the Boost C++ library. Fixes NUMBERS171. 
aherbert 

"RegularizedBeta": Detect edge cases for arguments that can be evaluated by
exploiting properties of the regularized beta function. Fixes NUMBERS170. 
aherbert 

"BrentSolver": Identify brackets with small objective values. Fixes NUMBERS168. 
aherbert 

Fix wrong javadoc. Thanks to Arturo Bernal. 
aherbert 