Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libcerf for openSUSE:Factory checked in at 2022-12-07 17:34:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libcerf (Old) and /work/SRC/openSUSE:Factory/.libcerf.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcerf" Wed Dec 7 17:34:10 2022 rev:7 rq:1040785 version:2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libcerf/libcerf.changes 2022-07-31 23:00:13.731567080 +0200 +++ /work/SRC/openSUSE:Factory/.libcerf.new.1835/libcerf.changes 2022-12-07 17:35:00.424552951 +0100 @@ -1,0 +2,9 @@ +Fri Dec 2 21:12:34 UTC 2022 - Dirk Müller <[email protected]> + +- update to 2.2: + - No longer raise underflow error in w_of_z for large real arg (contributed by Ethan Merritt) + - In test suite, confound zero with values close to underflow + - Remove some invisible files that had slipped in accidentally (noticed by Christoph Junghans) + - Windows binary now built with Visual Studio 17 2022 + +------------------------------------------------------------------- Old: ---- libcerf-v2.1.tar.gz New: ---- libcerf-v2.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libcerf.spec ++++++ --- /var/tmp/diff_new_pack.4jvr9O/_old 2022-12-07 17:35:01.008556149 +0100 +++ /var/tmp/diff_new_pack.4jvr9O/_new 2022-12-07 17:35:01.012556170 +0100 @@ -18,7 +18,7 @@ Name: libcerf -Version: 2.1 +Version: 2.2 Release: 0 Summary: A library that complex error functions License: MIT ++++++ libcerf-v2.1.tar.gz -> libcerf-v2.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcerf-v2.1/.gitlab-ci.yml new/libcerf-v2.2/.gitlab-ci.yml --- old/libcerf-v2.1/.gitlab-ci.yml 2022-04-08 21:09:20.000000000 +0200 +++ new/libcerf-v2.2/.gitlab-ci.yml 2022-11-07 11:17:30.000000000 +0100 @@ -1,22 +1,29 @@ stages: - build -mac: +mac10_15: tags: - - MacOS + - macbuild3 stage: build - script: + script: &macbuild - mkdir build - cd build - - cmake .. -DCERF_CPP=ON + - cmake .. - make - ctest --output-on-failure - cpack . + - make install artifacts: paths: - build/*zip expire_in: 10 days +mac12_2: + tags: + - scgmac4 + stage: build + script: *macbuild + windows: tags: - Windows @@ -24,8 +31,7 @@ script: - New-Item -ItemType "directory" -Confirm:$false -Force:$true -Name "build" - cd build - - cmd.exe "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" - - cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 -DCERF_CPP=ON -DLIB_MAN=OFF -DCMAKE_INSTALL_PREFIX=C:\opt\x64 -B. .. + - cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCERF_CPP=ON -DLIB_MAN=OFF -DCMAKE_INSTALL_PREFIX=C:\opt\x64 -B. .. - cmake --build . --config Release - Get-Location - dir @@ -53,6 +59,7 @@ - cmake -DWERROR=ON .. - make -j6 - ctest -j6 --output-on-failure + - make install # ## Dockerized: # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcerf-v2.1/CHANGELOG new/libcerf-v2.2/CHANGELOG --- old/libcerf-v2.1/CHANGELOG 2022-04-08 21:09:20.000000000 +0200 +++ new/libcerf-v2.2/CHANGELOG 2022-11-07 11:17:30.000000000 +0100 @@ -1,9 +1,15 @@ == Revision history of libcerf, maintained by Joachim Wuttke == +libcerf-2.2, released 7nov22: + - No longer raise underflow error in w_of_z for large real arg (contributed by Ethan Merritt) + - In test suite, confound zero with values close to underflow + - Remove some invisible files that had slipped in accidentally (noticed by Christoph Junghans) + - Windows binary now built with Visual Studio 17 2022 + libcerf-2.1, released 8apr22: - - provide cerfConfig.cmake (contributed by Lori A. Burns and Christoph Junghans) - - libcerf.pc: remove hard-coded lib/ - - version number incremented to overcome upstream problems with withdrawn release 2.0 + - Provide cerfConfig.cmake (contributed by Lori A. Burns and Christoph Junghans) + - libcerf.pc: Remove hard-coded lib/ + - Version number incremented to overcome upstream problems with withdrawn release 2.0 libcerf-1.17, released 29jun21: - Correct pkgconfig installation directory (use GNU install dirs, install to LIBDIR/pkgconfig) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcerf-v2.1/CMakeLists.txt new/libcerf-v2.2/CMakeLists.txt --- old/libcerf-v2.1/CMakeLists.txt 2022-04-08 21:09:20.000000000 +0200 +++ new/libcerf-v2.2/CMakeLists.txt 2022-11-07 11:17:30.000000000 +0100 @@ -33,7 +33,7 @@ endif() set(CERF_SOVERSION 2) # API version -set(CERF_VERSION ${CERF_SOVERSION}.1) # minor version +set(CERF_VERSION ${CERF_SOVERSION}.2) # minor version include(GNUInstallDirs) Binary files old/libcerf-v2.1/fortran/__MACOSX/ccerflib_f95_interface/._LICENSE and new/libcerf-v2.2/fortran/__MACOSX/ccerflib_f95_interface/._LICENSE differ Binary files old/libcerf-v2.1/fortran/__MACOSX/ccerflib_f95_interface/._README and new/libcerf-v2.2/fortran/__MACOSX/ccerflib_f95_interface/._README differ Binary files old/libcerf-v2.1/fortran/__MACOSX/ccerflib_f95_interface/._cerflib_main_test.f90 and new/libcerf-v2.2/fortran/__MACOSX/ccerflib_f95_interface/._cerflib_main_test.f90 differ Binary files old/libcerf-v2.1/fortran/__MACOSX/ccerflib_f95_interface/._use_libcerf_mod.f90 and new/libcerf-v2.2/fortran/__MACOSX/ccerflib_f95_interface/._use_libcerf_mod.f90 differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcerf-v2.1/lib/w_of_z.c new/libcerf-v2.2/lib/w_of_z.c --- old/libcerf-v2.1/lib/w_of_z.c 2022-04-08 21:09:20.000000000 +0200 +++ new/libcerf-v2.2/lib/w_of_z.c 2022-11-07 11:17:30.000000000 +0100 @@ -167,7 +167,10 @@ } if (cimag(z) == 0) { // Purely real input, complex output. - return C(exp(-sqr(creal(z))), im_w_of_x(creal(z))); + // Avoid floating underflow for real term of large z. + const double Wreal = fabs(creal(z)) > 27. ? 0. : exp(-sqr(creal(z))); + const double Wimag = im_w_of_x(creal(z)); + return C(Wreal, Wimag); } const double relerr = DBL_EPSILON; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcerf-v2.1/test/testtool.h new/libcerf-v2.2/test/testtool.h --- old/libcerf-v2.1/test/testtool.h 2022-04-08 21:09:20.000000000 +0200 +++ new/libcerf-v2.2/test/testtool.h 2022-11-07 11:17:30.000000000 +0100 @@ -41,7 +41,8 @@ int total; } result_t; -// Compute relative error |b-a|/|a|, handling case of NaN and Inf, +// Compute relative error |b-a|/|b+offs|, handling case of NaN and Inf. +// The tiny offset offs ensures a resonable return value for a=(almost underflowing), b=0. static double relerr(double a, double b) { if (!isfinite(a)) @@ -50,9 +51,7 @@ assert(isfinite(a)); // implied by the above return Inf; } - if (a == 0) - return b == 0 ? 0 : Inf; - return fabs((b - a) / a); + return fabs((b - a)) / (fabs(b) + 1e-300); } // Test whether real numbers 'computed' and 'expected' agree within relative error bound 'limit' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcerf-v2.1/test/wofztest.c new/libcerf-v2.2/test/wofztest.c --- old/libcerf-v2.1/test/wofztest.c 2022-04-08 21:09:20.000000000 +0200 +++ new/libcerf-v2.2/test/wofztest.c 2022-11-07 11:17:30.000000000 +0100 @@ -229,6 +229,13 @@ ZTEST(result, 1e-13, w_of_z(C(NaN, Inf)), C(NaN, NaN)); ZTEST(result, 1e-13, w_of_z(C(Inf, NaN)), C(NaN, NaN)); + // Continuity when exp(-x^2) runs into underflow + ZTEST(result, 1e-13, w_of_z(C(26.99999999999999, 0)), C(0, 0.0209102719931009)); + ZTEST(result, 1e-13, w_of_z(C(27.00000000000001, 0)), C(0, 0.0209102719931009)); + + // Where does real part of w_of_z(real) exceed 1e-300? + ZTEST(result, 1e-10, w_of_z(C(26.28260884878466, 0)), C(1e-300, +0.0214818418828509)); + printf("%i/%i tests failed\n", result.failed, result.total); return result.failed; }
