Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2021-03-05 13:48:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/armadillo (Old) and /work/SRC/openSUSE:Factory/.armadillo.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "armadillo" Fri Mar 5 13:48:47 2021 rev:144 rq:876916 version:10.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes 2021-02-16 22:50:44.862686667 +0100 +++ /work/SRC/openSUSE:Factory/.armadillo.new.2378/armadillo.changes 2021-03-05 13:51:05.411941706 +0100 @@ -1,0 +2,5 @@ +Thu Mar 4 23:02:55 UTC 2021 - Atri Bhattacharya <badshah...@gmail.com> + +- Update to version 10.2.2 (no release notes). + +------------------------------------------------------------------- Old: ---- armadillo-10.2.1.tar.xz New: ---- armadillo-10.2.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ armadillo.spec ++++++ --- /var/tmp/diff_new_pack.JOemWf/_old 2021-03-05 13:51:06.111942379 +0100 +++ /var/tmp/diff_new_pack.JOemWf/_new 2021-03-05 13:51:06.115942383 +0100 @@ -18,7 +18,7 @@ %define soname libarmadillo10 Name: armadillo -Version: 10.2.1 +Version: 10.2.2 Release: 0 Summary: C++ matrix library with interfaces to LAPACK and ATLAS License: Apache-2.0 ++++++ armadillo-10.2.1.tar.xz -> armadillo-10.2.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/CMakeLists.txt new/armadillo-10.2.2/CMakeLists.txt --- old/armadillo-10.2.1/CMakeLists.txt 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/CMakeLists.txt 2016-06-16 18:22:32.000000000 +0200 @@ -99,6 +99,9 @@ # NOTE: for Linux, this is available with gcc 4.8.3 onwards # NOTE: for macOS, thread_local is supoported in Xcode 8 (mid 2016 onwards) in C++11 mode +# NOTE: thread_local appears broken again on macOS 11 (Big Sur) and/or AppleClang 12.0 +# NOTE: see comments in include/armadillo_bits/arma_rng.hpp + if(DEFINED CMAKE_CXX_COMPILER_ID AND DEFINED CMAKE_CXX_COMPILER_VERSION) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(NOT (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.8.3)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/docs.html new/armadillo-10.2.2/docs.html --- old/armadillo-10.2.1/docs.html 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/docs.html 2016-06-16 18:22:32.000000000 +0200 @@ -735,7 +735,7 @@ <tr><td><code>fill::eye</code></td><td> = </td><td>set the elements along the main diagonal to 1 and off-diagonal elements to 0</td></tr> <tr><td><code>fill::randu</code></td><td> = </td><td>set each element to a random value from a uniform distribution in the [0,1] interval</td></tr> <tr><td><code>fill::randn</code></td><td> = </td><td>set each element to a random value from a normal/Gaussian distribution with zero mean and unit variance</td></tr> -<tr><td><code>fill::none</code></td><td> = </td><td>do not modify the elements</td></tr> +<tr><td><code>fill::none</code></td><td> = </td><td>do not initialise the elements</td></tr> </tbody> </table> </ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/Proxy.hpp new/armadillo-10.2.2/include/armadillo_bits/Proxy.hpp --- old/armadillo-10.2.1/include/armadillo_bits/Proxy.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/Proxy.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -218,7 +218,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -266,7 +266,7 @@ arma_extra_debug_sigprint(); } - constexpr uword get_n_rows() const { return 1; } + constexpr uword get_n_rows() const { return 1; } arma_inline uword get_n_cols() const { return Q.n_cols; } arma_inline uword get_n_elem() const { return Q.n_elem; } @@ -808,7 +808,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -908,7 +908,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1006,7 +1006,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1054,7 +1054,7 @@ arma_extra_debug_sigprint(); } - constexpr uword get_n_rows() const { return 1; } + constexpr uword get_n_rows() const { return 1; } arma_inline uword get_n_cols() const { return Q.n_cols; } arma_inline uword get_n_elem() const { return Q.n_elem; } @@ -1111,7 +1111,7 @@ } arma_inline uword get_n_rows() const { return R.get_n_elem(); } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return R.get_n_elem(); } arma_inline elem_type operator[] (const uword i) const { const uword ii = (Proxy<T1>::use_at) ? R.at(i, 0) : R[i ]; arma_debug_check( (ii >= Q.m.n_elem), "Mat::elem(): index out of bounds" ); return Q.m[ii]; } @@ -1209,7 +1209,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1267,7 +1267,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1324,7 +1324,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1401,7 +1401,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1869,7 +1869,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1918,7 +1918,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -1971,7 +1971,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -2023,7 +2023,7 @@ arma_extra_debug_sigprint(); } - constexpr uword get_n_rows() const { return 1; } + constexpr uword get_n_rows() const { return 1; } arma_inline uword get_n_cols() const { return Q.n_cols; } arma_inline uword get_n_elem() const { return Q.n_elem; } @@ -2076,7 +2076,7 @@ arma_extra_debug_sigprint(); } - constexpr uword get_n_rows() const { return 1; } + constexpr uword get_n_rows() const { return 1; } arma_inline uword get_n_cols() const { return Q.n_cols; } arma_inline uword get_n_elem() const { return Q.n_elem; } @@ -2178,7 +2178,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -2227,7 +2227,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -2384,7 +2384,7 @@ } arma_inline uword get_n_rows() const { return Q.n_rows; } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return Q.n_elem; } arma_inline elem_type operator[] (const uword i) const { return Q[i]; } @@ -2443,7 +2443,7 @@ } arma_inline uword get_n_rows() const { return R.get_n_elem(); } - constexpr uword get_n_cols() const { return 1; } + constexpr uword get_n_cols() const { return 1; } arma_inline uword get_n_elem() const { return R.get_n_elem(); } arma_inline elem_type operator[] (const uword i) const { return R[i]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/arma_ostream_meat.hpp new/armadillo-10.2.2/include/armadillo_bits/arma_ostream_meat.hpp --- old/armadillo-10.2.1/include/armadillo_bits/arma_ostream_meat.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/arma_ostream_meat.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -510,7 +510,8 @@ o << "[cube slice: " << slice << ']' << '\n'; arma_ostream::print(o, tmp, modify); - o << '\n'; + + if((slice+1) < x.n_slices) { o << '\n'; } } } else @@ -960,7 +961,8 @@ o << "..."; o.width(cell_width); - o << X.at(row,3) << '\n'; + arma_ostream::print_elem(o, X.at(row,3), true); + o << '\n'; } for(uword col=0; col <= 2; ++col) @@ -987,7 +989,8 @@ o << "..."; o.width(cell_width); - o << X.at(row,3) << '\n'; + arma_ostream::print_elem(o, X.at(row,3), true); + o << '\n'; } } @@ -1055,7 +1058,8 @@ o << "..."; o.width(cell_width); - o << X.at(row,3) << '\n'; + arma_ostream::print_elem(o, X.at(row,3), true); + o << '\n'; } } @@ -1093,7 +1097,8 @@ o << "[cube slice: " << slice << ']' << '\n'; arma_ostream::brief_print(o, tmp, false); - o << '\n'; + + if((slice+1) < x.n_slices) { o << '\n'; } } } else @@ -1115,7 +1120,6 @@ o << "[cube slice: " << slice << ']' << '\n'; arma_ostream::brief_print(o, tmp, false); - o << '\n'; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/arma_rng.hpp new/armadillo-10.2.2/include/armadillo_bits/arma_rng.hpp --- old/armadillo-10.2.1/include/armadillo_bits/arma_rng.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/arma_rng.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -23,6 +23,18 @@ #endif +// workaround for issue on macOS 11 and/or AppleClang 12.0 +// see https://gitlab.com/conradsnicta/armadillo-code/-/issues/173 +// the workaround is here instead of CMakeLists.txt +// to ensure that the armadillo runtime library has arma_rng_cxx11_instance +// for already compiled programs running on earlier versions of macOS +#if defined(__APPLE__) || defined(__apple_build_version__) + #if !defined(ARMA_DONT_DISABLE_EXTERN_RNG) + #undef ARMA_USE_EXTERN_RNG + #endif +#endif + + #if defined(ARMA_USE_EXTERN_RNG) extern thread_local arma_rng_cxx11 arma_rng_cxx11_instance; // namespace { thread_local arma_rng_cxx11 arma_rng_cxx11_instance; } @@ -254,20 +266,9 @@ void fill(eT* mem, const uword N) { - uword j; - - for(j=1; j < N; j+=2) - { - const eT tmp_i = eT( arma_rng::randu<eT>() ); - const eT tmp_j = eT( arma_rng::randu<eT>() ); - - (*mem) = tmp_i; mem++; - (*mem) = tmp_j; mem++; - } - - if((j-1) < N) + for(uword i=0; i < N; ++i) { - (*mem) = eT( arma_rng::randu<eT>() ); + mem[i] = eT( arma_rng::randu<eT>() ); } } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/arma_version.hpp new/armadillo-10.2.2/include/armadillo_bits/arma_version.hpp --- old/armadillo-10.2.1/include/armadillo_bits/arma_version.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/arma_version.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -21,7 +21,7 @@ #define ARMA_VERSION_MAJOR 10 #define ARMA_VERSION_MINOR 2 -#define ARMA_VERSION_PATCH 1 +#define ARMA_VERSION_PATCH 2 #define ARMA_VERSION_NAME "Cicada Swarm" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/fn_mvnrnd.hpp new/armadillo-10.2.2/include/armadillo_bits/fn_mvnrnd.hpp --- old/armadillo-10.2.1/include/armadillo_bits/fn_mvnrnd.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/fn_mvnrnd.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -56,7 +56,6 @@ template<typename T1, typename T2> -arma_warn_unused inline typename enable_if2 @@ -82,7 +81,6 @@ template<typename T1, typename T2> -arma_warn_unused inline typename enable_if2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/fn_wishrnd.hpp new/armadillo-10.2.2/include/armadillo_bits/fn_wishrnd.hpp --- old/armadillo-10.2.1/include/armadillo_bits/fn_wishrnd.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/fn_wishrnd.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -82,7 +82,6 @@ template<typename T1, typename T2> -arma_warn_unused inline typename enable_if2 @@ -167,7 +166,6 @@ template<typename T1, typename T2> -arma_warn_unused inline typename enable_if2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/op_cond_meat.hpp new/armadillo-10.2.2/include/armadillo_bits/op_cond_meat.hpp --- old/armadillo-10.2.1/include/armadillo_bits/op_cond_meat.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/op_cond_meat.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -58,11 +58,13 @@ { const strip_trimat<T1> S(X.get_ref()); - arma_debug_check( (S.M.is_square() == false), "rcond(): matrix must be square sized" ); + const quasi_unwrap<typename strip_trimat<T1>::stored_type> U(S.M); + + arma_debug_check( (U.M.is_square() == false), "rcond(): matrix must be square sized" ); const uword layout = (S.do_triu) ? uword(0) : uword(1); - return auxlib::rcond_trimat(S.M, layout); + return auxlib::rcond_trimat(U.M, layout); } Mat<eT> A = X.get_ref(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/op_pinv_meat.hpp new/armadillo-10.2.2/include/armadillo_bits/op_pinv_meat.hpp --- old/armadillo-10.2.1/include/armadillo_bits/op_pinv_meat.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/op_pinv_meat.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -119,7 +119,7 @@ { const T val = s_mem[i]; - if(val >= tol) { s2_mem[count2] = T(1) / val; ++count2; } + if(val >= tol) { s2_mem[count2] = (val > T(0)) ? T(T(1) / val) : T(0); ++count2; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/strip.hpp new/armadillo-10.2.2/include/armadillo_bits/strip.hpp --- old/armadillo-10.2.1/include/armadillo_bits/strip.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/strip.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -146,8 +146,9 @@ const T1& M; static constexpr bool do_trimat = true; - const bool do_triu; - const bool do_tril; + + const bool do_triu; + const bool do_tril; inline strip_trimat(const Op<T1, op_trimat>& X) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-10.2.1/include/armadillo_bits/subview_bones.hpp new/armadillo-10.2.2/include/armadillo_bits/subview_bones.hpp --- old/armadillo-10.2.1/include/armadillo_bits/subview_bones.hpp 2016-06-16 18:22:31.000000000 +0200 +++ new/armadillo-10.2.2/include/armadillo_bits/subview_bones.hpp 2016-06-16 18:22:32.000000000 +0200 @@ -129,11 +129,11 @@ inline eT& at(const uword in_row, const uword in_col); inline eT at(const uword in_row, const uword in_col) const; - inline eT& front(); - inline eT front() const; + inline eT& front(); + inline eT front() const; - inline eT& back(); - inline eT back() const; + inline eT& back(); + inline eT back() const; arma_inline eT* colptr(const uword in_col); arma_inline const eT* colptr(const uword in_col) const; @@ -548,8 +548,9 @@ arma_aligned const subview_row<eT>& sv_row; - const uword n_rows; // equal to n_elem - const uword n_elem; + const uword n_rows; // equal to n_elem + const uword n_elem; + static constexpr uword n_cols = 1; @@ -582,8 +583,9 @@ arma_aligned const subview_row<eT>& sv_row; - const uword n_rows; // equal to n_elem - const uword n_elem; + const uword n_rows; // equal to n_elem + const uword n_elem; + static constexpr uword n_cols = 1;