- 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
68 lines
2.2 KiB
RPMSpec
68 lines
2.2 KiB
RPMSpec
#
|
|
# spec file for package apache-commons-numbers
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%global base_name numbers
|
|
%global short_name commons-%{base_name}
|
|
Name: apache-%{short_name}
|
|
Version: 1.2
|
|
Release: 0
|
|
Summary: Apache Commons Numbers
|
|
License: Apache-2.0
|
|
Group: Development/Libraries/Java
|
|
URL: https://commons.apache.org/proper/%{short_name}
|
|
Source0: https://github.com/apache/%{short_name}/archive/refs/tags/rel/%{short_name}-%{version}.tar.gz
|
|
BuildRequires: fdupes
|
|
BuildRequires: maven-local
|
|
BuildRequires: mvn(org.apache.commons:commons-parent:pom:)
|
|
BuildRequires: mvn(org.apache.commons:commons-rng-bom:pom:)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
Commons Numbers provides implementations of number types and utilities.
|
|
Features include arithmetic, primes, fractions, combinatorics, complex numbers,
|
|
quaternions, gamma functions, root finding.
|
|
|
|
%package javadoc
|
|
Summary: API documentation for %{name}
|
|
Group: Documentation/HTML
|
|
|
|
%description javadoc
|
|
API documentation for %{name}.
|
|
|
|
%prep
|
|
%setup -q -n %{short_name}-rel-%{short_name}-%{version}
|
|
%pom_remove_plugin :maven-checkstyle-plugin
|
|
|
|
%build
|
|
%{mvn_build} -f -- \
|
|
-Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ)
|
|
|
|
%install
|
|
%mvn_install
|
|
%fdupes %{buildroot}%{_javadocdir}/%{name}
|
|
|
|
%files -f .mfiles
|
|
%license LICENSE NOTICE
|
|
%doc {README,CONTRIBUTING}.md RELEASE-NOTES.txt
|
|
|
|
%files javadoc -f .mfiles-javadoc
|
|
%license LICENSE NOTICE
|
|
|
|
%changelog
|