- Update to v1.2
* Changes in this version include:
+ New features:
~ NUMBERS-206: "Selection": Add selection of the k-th ordered
element from an array.
~ NUMBERS-205: "Addition/Multiplication": Introduces isZero
to Addition and isOne to Multiplication interfaces.
Override the default implementation in implementing classes
to avoid expensive equals(Object) operations. Thanks to
Harald Kirsch.
~ NUMBERS-203: "DDField": Add a field for the DD number.
~ NUMBERS-193: "DD": Add an extended precision floating-point
number. A double-double (DD) number is an unevaluated sum
of two IEEE double precision numbers capable of
representing at least 106 bits of significand.
~ NUMBERS-192: "Sum": Add subtract(Sum) method.
~ NUMBERS-191: "Stirling": Compute Stirling numbers of the
first kind.
~ NUMBERS-29: Add "Stirling" class to compute Stirling
numbers of the second kind.
+ Fixed Bugs:
~ NUMBERS-204: "Sum": Correct sub-normal round-off
computation in sum of products.
~ NUMBERS-201: "FP64": Make equals consistent with hashCode.
~ NUMBERS-200: "Sum": Avoid a NaN result when combining Sum
instances with infinite sums of the same sign. Thanks to
Anirudh Joshi.
+ Changes:
~ "ArithmeticUtils": Improve performance of GCD for longs.
Thanks to Matthias Langer.
~ "ArithmeticUtils": Improve performance of remainderUnsigned
and divideUnsigned. Thanks to Sebb, Alex Herbert.
~ NUMBERS-199: "Precision": Document inaccurate decimal value
representation when converting to and from a double in the
round method.
- Reproducible builds: use SOURCE_DATE_EPOCH for timestamp
- Update to v1.1
* Changes in this version include:
+ New features:
~ NUMBERS-70: Add a user guide.
~ NUMBERS-190: 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.
~ NUMBERS-181: 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.
~ NUMBERS-180: "GammaRatio": Compute the ratio of two gamma
functions.
~ NUMBERS-177: "Erfcx": Compute a scaled complementary error
function: erfcx(z) = erfc(z) * exp(z*z).
~ NUMBERS-175: "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.
+ Fixed Bugs:
~ NUMBERS-185: "Precision": Allow Precision.compareTo using a
maxUlps to be used for sorting. This corrects handling of
NaN comparisons.
~ NUMBERS-182: "LogBeta": Avoid overflow for tiny arguments.
~ "BrentSolver": Avoid overflow creating the initial value
between the lower and upper.
~ NUMBERS-173: "ContinuedFraction": Set a minimum bound on
the relative error epsilon. Prevents an infinite loop when
the epsilon is zero.
~ "FactorialDouble": Prevent caching values that are
infinite. The cache will support factorials up to 170.
~ NUMBERS-170: "RegularizedBeta": Detect edge cases for
arguments that can be evaluated by exploiting properties of
the regularized beta function.
~ NUMBERS-168: "BrentSolver": Identify brackets with small
objective values.
~ Fix wrong javadoc. Thanks to Arturo Bernal.
+ Changes:
~ NUMBERS-184: "Precision": Reduce number of operations in
Precision.equals using a maxUlps.
~ NUMBERS-183: 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.
~ NUMBERS-178: "Factorial/FactorialDouble": Tabulate all
factorials with exact 64-bit double representations of n!
up to n=170. This change deprecates the FactorialDouble
class and removes obsolete caching functionality.
~ NUMBERS-176: "ContinuedFraction": Update to use a shared
implementation with GeneralizedContinuedFraction.
~ NUMBERS-174: "Gamma/LogGamma/RegularizedGamma": Update the
gamma function implementations to increase accuracy and
support for extreme values. Functionality is ported from
the Boost C++ library.
~ NUMBERS-172: "Erf/Erfc": Use a rational function
approximation accurate to 53-bits 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.
~ NUMBERS-171: "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.
- Add build dependency on
mvn(org.apache.commons:commons-rng-bom:pom:)
- Initial packaging with v1.0
OBS-URL: https://build.opensuse.org/request/show/1198832
OBS-URL: https://build.opensuse.org/package/show/Java:packages/apache-commons-numbers?expand=0&rev=6
- Updage to v1.1
* Changes in this version include:
+ New features:
~ NUMBERS-70: Add a user guide.
~ NUMBERS-190: 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.
~ NUMBERS-181: 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.
~ NUMBERS-180: "GammaRatio": Compute the ratio of two gamma
functions.
~ NUMBERS-177: "Erfcx": Compute a scaled complementary error
function: erfcx(z) = erfc(z) * exp(z*z).
~ NUMBERS-175: "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.
+ Fixed Bugs:
~ NUMBERS-185: "Precision": Allow Precision.compareTo using a
maxUlps to be used for sorting. This corrects handling of
NaN comparisons.
~ NUMBERS-182: "LogBeta": Avoid overflow for tiny arguments.
~ "BrentSolver": Avoid overflow creating the initial value
between the lower and upper.
~ NUMBERS-173: "ContinuedFraction": Set a minimum bound on
the relative error epsilon. Prevents an infinite loop when
the epsilon is zero.
~ "FactorialDouble": Prevent caching values that are
infinite. The cache will support factorials up to 170.
~ NUMBERS-170: "RegularizedBeta": Detect edge cases for
arguments that can be evaluated by exploiting properties of
the regularized beta function.
~ NUMBERS-168: "BrentSolver": Identify brackets with small
objective values.
~ Fix wrong javadoc. Thanks to Arturo Bernal.
+ Changes:
~ NUMBERS-184: "Precision": Reduce number of operations in
Precision.equals using a maxUlps.
~ NUMBERS-183: 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.
~ NUMBERS-178: "Factorial/FactorialDouble": Tabulate all
factorials with exact 64-bit double representations of n!
up to n=170. This change deprecates the FactorialDouble
class and removes obsolete caching functionality.
~ NUMBERS-176: "ContinuedFraction": Update to use a shared
implementation with GeneralizedContinuedFraction.
~ NUMBERS-174: "Gamma/LogGamma/RegularizedGamma": Update the
gamma function implementations to increase accuracy and
support for extreme values. Functionality is ported from
the Boost C++ library.
~ NUMBERS-172: "Erf/Erfc": Use a rational function
approximation accurate to 53-bits 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.
~ NUMBERS-171: "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.
- Add build dependency on
mvn(org.apache.commons:commons-rng-bom:pom:)
OBS-URL: https://build.opensuse.org/request/show/1042187
OBS-URL: https://build.opensuse.org/package/show/Java:packages/apache-commons-numbers?expand=0&rev=5