Hello community, here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2014-12-03 22:48:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/armadillo (Old) and /work/SRC/openSUSE:Factory/.armadillo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "armadillo" Changes: -------- --- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes 2014-11-24 11:10:19.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2014-12-03 22:49:04.000000000 +0100 @@ -1,0 +2,8 @@ +Tue Dec 2 00:55:41 UTC 2014 - badshah...@gmail.com + +- Update to version 4.550.2: + + List of changes not documented upstream. +- Changes from version 4.550.1: + + List of changes not documented upstream. + +------------------------------------------------------------------- Old: ---- armadillo-4.550.0.tar.gz New: ---- armadillo-4.550.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ armadillo.spec ++++++ --- /var/tmp/diff_new_pack.LA6ydZ/_old 2014-12-03 22:49:05.000000000 +0100 +++ /var/tmp/diff_new_pack.LA6ydZ/_new 2014-12-03 22:49:05.000000000 +0100 @@ -19,7 +19,7 @@ %define soname libarmadillo4 Name: armadillo -Version: 4.550.0 +Version: 4.550.2 Release: 0 Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS License: MPL-2.0 ++++++ armadillo-4.550.0.tar.gz -> armadillo-4.550.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/CMakeLists.txt new/armadillo-4.550.2/CMakeLists.txt --- old/armadillo-4.550.0/CMakeLists.txt 2014-11-21 05:52:24.000000000 +0100 +++ new/armadillo-4.550.2/CMakeLists.txt 2014-11-30 04:49:49.000000000 +0100 @@ -14,7 +14,7 @@ set(ARMA_MAJOR 4) set(ARMA_MINOR 550) -set(ARMA_PATCH 0) +set(ARMA_PATCH 2) set(ARMADILLO_VERSION ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH}) message(STATUS "Configuring Armadillo ${ARMADILLO_VERSION}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/README.txt new/armadillo-4.550.2/README.txt --- old/armadillo-4.550.0/README.txt 2014-11-17 09:50:18.000000000 +0100 +++ new/armadillo-4.550.2/README.txt 2014-11-30 04:49:49.000000000 +0100 @@ -187,7 +187,7 @@ If you want to use Armadillo without installation, or you're getting linking errors, compile along these lines: - g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-4.550.0/include -DARMA_DONT_USE_WRAPPER -lblas -llapack + g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-4.550.2/include -DARMA_DONT_USE_WRAPPER -lblas -llapack The above command line assumes that you have unpacked the armadillo archive into /home/blah/ You will need to adjust this for later versions of Armadillo, @@ -453,6 +453,7 @@ - Szabolcs Horvat - Friedrich Hust - Ping-Keng Jao +- Jacques-Henri Jourdan - Yaron Keren - Kshitij Kulshreshtha - Oka Kurniawan diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/docs.html new/armadillo-4.550.2/docs.html --- old/armadillo-4.550.0/docs.html 2014-11-21 05:52:24.000000000 +0100 +++ new/armadillo-4.550.2/docs.html 2014-11-24 06:40:31.000000000 +0100 @@ -10319,7 +10319,8 @@ <td style="vertical-align: top;"> <br></td> <td style="vertical-align: top;"> <br></td> <td style="vertical-align: top;"> - learn the model parameters via the k-means and/or EM algorithms + learn the model parameters via the k-means and/or EM algorithms, + <br>and return a <code>bool</code> variable, with <i>true</i> indicating success, and <i>false</i> indicating failure </td> </tr> </tbody> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/include/armadillo_bits/arma_version.hpp new/armadillo-4.550.2/include/armadillo_bits/arma_version.hpp --- old/armadillo-4.550.0/include/armadillo_bits/arma_version.hpp 2014-11-21 05:52:24.000000000 +0100 +++ new/armadillo-4.550.2/include/armadillo_bits/arma_version.hpp 2014-11-30 04:49:49.000000000 +0100 @@ -13,7 +13,7 @@ #define ARMA_VERSION_MAJOR 4 #define ARMA_VERSION_MINOR 550 -#define ARMA_VERSION_PATCH 0 +#define ARMA_VERSION_PATCH 2 #define ARMA_VERSION_NAME "Singapore Sling Deluxe" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/include/armadillo_bits/gmm_diag_meat.hpp new/armadillo-4.550.2/include/armadillo_bits/gmm_diag_meat.hpp --- old/armadillo-4.550.0/include/armadillo_bits/gmm_diag_meat.hpp 2014-11-21 11:57:06.000000000 +0100 +++ new/armadillo-4.550.2/include/armadillo_bits/gmm_diag_meat.hpp 2014-11-24 07:17:31.000000000 +0100 @@ -655,8 +655,8 @@ const unwrap<T1> tmp_X(data.get_ref()); const Mat<eT>& X = tmp_X.M; - if(X.is_empty() ) { arma_warn(true, "gmm_diag::learn(): given matrix is empty" ); reset(); return false; } - if(X.is_finite() == false) { arma_warn(true, "gmm_diag::learn(): given matrix has non-finite values"); reset(); return false; } + if(X.is_empty() ) { arma_warn(true, "gmm_diag::learn(): given matrix is empty" ); return false; } + if(X.is_finite() == false) { arma_warn(true, "gmm_diag::learn(): given matrix has non-finite values"); return false; } if(N_gaus == 0) { reset(); return true; } @@ -671,25 +671,28 @@ { const eT val = mah_aux_mem[i]; - mah_aux_mem[i] = (val != eT(0)) ? eT(1) / val : eT(1); + mah_aux_mem[i] = ((val != eT(0)) && arma_isfinite(val)) ? eT(1) / val : eT(1); } } - // mah_aux.print("mah_aux:"); + + // copy current model, in case of failure by k-means and/or EM + + const gmm_diag<eT> orig = (*this); // initial means if(seed_mode == keep_existing) { - if(means.is_empty() ) { arma_warn(true, "gmm_diag::learn(): no existing means" ); reset(); return false; } - if(X.n_rows != means.n_rows) { arma_warn(true, "gmm_diag::learn(): dimensionality mismatch"); reset(); return false; } + if(means.is_empty() ) { arma_warn(true, "gmm_diag::learn(): no existing means" ); return false; } + if(X.n_rows != means.n_rows) { arma_warn(true, "gmm_diag::learn(): dimensionality mismatch"); return false; } // TODO: also check for number of vectors? } else { - if(X.n_cols < N_gaus) { arma_warn(true, "gmm_diag::learn(): number of vectors is less than number of gaussians"); reset(); return false; } + if(X.n_cols < N_gaus) { arma_warn(true, "gmm_diag::learn(): number of vectors is less than number of gaussians"); return false; } reset(X.n_rows, N_gaus); @@ -713,7 +716,7 @@ stream_state.restore(get_stream_err2()); - if(status == false) { arma_warn(true, "gmm_diag::learn(): k-means algorithm failed"); reset(); return false; } + if(status == false) { arma_warn(true, "gmm_diag::learn(): k-means algorithm failed"); init(orig); return false; } } @@ -740,7 +743,7 @@ stream_state.restore(get_stream_err2()); - if(status == false) { arma_warn(true, "gmm_diag::learn(): EM algorithm failed"); reset(); return false; } + if(status == false) { arma_warn(true, "gmm_diag::learn(): EM algorithm failed"); init(orig); return false; } } mah_aux.reset(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/include/armadillo_bits/op_all_meat.hpp new/armadillo-4.550.2/include/armadillo_bits/op_all_meat.hpp --- old/armadillo-4.550.0/include/armadillo_bits/op_all_meat.hpp 2014-03-18 15:28:08.000000000 +0100 +++ new/armadillo-4.550.2/include/armadillo_bits/op_all_meat.hpp 2014-11-30 05:56:51.000000000 +0100 @@ -33,7 +33,7 @@ for(uword i=0; i<n_elem; ++i) { - if(Pea[i] != eT(0)) { ++count; } + count += (Pea[i] != eT(0)) ? uword(1) : uword(0); } } else @@ -86,16 +86,16 @@ { const eT tmp = Pea[i]; - if(is_same_type<op_type, op_rel_lt_pre >::yes) { if(val < tmp) { ++count; } } - else if(is_same_type<op_type, op_rel_lt_post >::yes) { if(tmp < val) { ++count; } } - else if(is_same_type<op_type, op_rel_gt_pre >::yes) { if(val > tmp) { ++count; } } - else if(is_same_type<op_type, op_rel_gt_post >::yes) { if(tmp > val) { ++count; } } - else if(is_same_type<op_type, op_rel_lteq_pre >::yes) { if(val <= tmp) { ++count; } } - else if(is_same_type<op_type, op_rel_lteq_post>::yes) { if(tmp <= val) { ++count; } } - else if(is_same_type<op_type, op_rel_gteq_pre >::yes) { if(val >= tmp) { ++count; } } - else if(is_same_type<op_type, op_rel_gteq_post>::yes) { if(tmp >= val) { ++count; } } - else if(is_same_type<op_type, op_rel_eq >::yes) { if(tmp == val) { ++count; } } - else if(is_same_type<op_type, op_rel_noteq >::yes) { if(tmp != val) { ++count; } } + if(is_same_type<op_type, op_rel_lt_pre >::yes) { count += (val < tmp) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_lt_post >::yes) { count += (tmp < val) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_gt_pre >::yes) { count += (val > tmp) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_gt_post >::yes) { count += (tmp > val) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_lteq_pre >::yes) { count += (val <= tmp) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_lteq_post>::yes) { count += (tmp <= val) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_gteq_pre >::yes) { count += (val >= tmp) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_gteq_post>::yes) { count += (tmp >= val) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_eq >::yes) { count += (tmp == val) ? uword(1) : uword(0); } + else if(is_same_type<op_type, op_rel_noteq >::yes) { count += (tmp != val) ? uword(1) : uword(0); } } } else @@ -169,14 +169,14 @@ const eT1 tmp1 = PA[i]; const eT2 tmp2 = PB[i]; - if(is_same_type<glue_type, glue_rel_lt >::yes) { if(tmp1 < tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_gt >::yes) { if(tmp1 > tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_lteq >::yes) { if(tmp1 <= tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_gteq >::yes) { if(tmp1 >= tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_eq >::yes) { if(tmp1 == tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_noteq >::yes) { if(tmp1 != tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_and >::yes) { if(tmp1 && tmp2) { ++count; } } - else if(is_same_type<glue_type, glue_rel_or >::yes) { if(tmp1 || tmp2) { ++count; } } + if(is_same_type<glue_type, glue_rel_lt >::yes) { count += (tmp1 < tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_gt >::yes) { count += (tmp1 > tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_lteq >::yes) { count += (tmp1 <= tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_gteq >::yes) { count += (tmp1 >= tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_eq >::yes) { count += (tmp1 == tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_noteq >::yes) { count += (tmp1 != tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_and >::yes) { count += (tmp1 && tmp2) ? uword(1) : uword(0); } + else if(is_same_type<glue_type, glue_rel_or >::yes) { count += (tmp1 || tmp2) ? uword(1) : uword(0); } } } else @@ -250,7 +250,7 @@ for(uword row=0; row < n_rows; ++row) { - if(colmem[row] != eT(0)) { ++count; } + count += (colmem[row] != eT(0)) ? uword(1) : uword(0); } out_mem[col] = (n_rows == count) ? uword(1) : uword(0); @@ -289,7 +289,7 @@ for(uword row=0; row < n_rows; ++row) { - if(colmem[row] != eT(0)) { ++out_mem[row]; } + out_mem[row] += (colmem[row] != eT(0)) ? uword(1) : uword(0); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.550.0/include/armadillo_bits/op_expmat_meat.hpp new/armadillo-4.550.2/include/armadillo_bits/op_expmat_meat.hpp --- old/armadillo-4.550.0/include/armadillo_bits/op_expmat_meat.hpp 2014-11-19 06:36:59.000000000 +0100 +++ new/armadillo-4.550.2/include/armadillo_bits/op_expmat_meat.hpp 2014-12-02 07:51:03.000000000 +0100 @@ -17,6 +17,7 @@ //! SIAM Review, Vol. 45, No. 1, 2003, pp. 3-49. //! http://dx.doi.org/10.1137/S00361445024180 + template<typename T1> inline void @@ -46,9 +47,13 @@ arma_debug_check( (A.is_square() == false), "expmat(): given matrix is not square sized" ); - const uword s = (std::max)(uword(0), uword(eop_aux::log2(norm(A, "inf"))) + uword(1) + uword(1)); + const T norm_val = arma::norm(A, "inf"); + + const T log2_val = eop_aux::log2(norm_val); + + const uword s = (std::max)(uword(0), uword(log2_val) + uword(1) + uword(1)); - const Mat<eT> AA = A / std::pow(double(2), s); + const Mat<eT> AA = A / eT(eop_aux::pow(double(2), double(s))); T c = T(0.5); -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org