- 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
119 lines
5.8 KiB
Plaintext
119 lines
5.8 KiB
Plaintext
-------------------------------------------------------------------
|
|
Wed Sep 4 20:50:08 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
|
|
|
|
- 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
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Dec 11 04:15:42 UTC 2022 - Anton Shvetz <shvetz.anton@gmail.com>
|
|
|
|
- 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:)
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 28 20:25:12 UTC 2022 - Anton Shvetz <shvetz.anton@gmail.com>
|
|
|
|
- Initial packaging with v1.0
|