Hello community, here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2015-03-25 10:00:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2015-02-27 11:00:32.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2015-03-25 10:00:54.000000000 +0100 @@ -1,0 +2,8 @@ +Sat Mar 21 00:29:27 UTC 2015 - badshah...@gmail.com + +- Update to version 4.650.4: + + List of changes not documented upstream. +- Changes from version 4.650.2 and 4.650.3: + + List of changes not documented upstream. + +------------------------------------------------------------------- Old: ---- armadillo-4.650.1.tar.gz New: ---- armadillo-4.650.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ armadillo.spec ++++++ --- /var/tmp/diff_new_pack.h6YVpU/_old 2015-03-25 10:00:56.000000000 +0100 +++ /var/tmp/diff_new_pack.h6YVpU/_new 2015-03-25 10:00:56.000000000 +0100 @@ -19,7 +19,7 @@ %define soname libarmadillo4 Name: armadillo -Version: 4.650.1 +Version: 4.650.4 Release: 0 Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS License: MPL-2.0 ++++++ armadillo-4.650.1.tar.gz -> armadillo-4.650.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/CMakeLists.txt new/armadillo-4.650.4/CMakeLists.txt --- old/armadillo-4.650.1/CMakeLists.txt 2015-02-23 05:27:48.000000000 +0100 +++ new/armadillo-4.650.4/CMakeLists.txt 2015-03-20 04:36:40.000000000 +0100 @@ -14,7 +14,7 @@ set(ARMA_MAJOR 4) set(ARMA_MINOR 650) -set(ARMA_PATCH 1) +set(ARMA_PATCH 4) 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.650.1/README.txt new/armadillo-4.650.4/README.txt --- old/armadillo-4.650.1/README.txt 2015-02-23 05:27:48.000000000 +0100 +++ new/armadillo-4.650.4/README.txt 2015-03-20 04:36:40.000000000 +0100 @@ -62,6 +62,10 @@ with contributions from around the world. More information about NICTA can be obtained from http://nicta.com.au +Main developers: + Conrad Sanderson - http://conradsanderson.id.au + Ryan Curtin - http://ratml.org + 2: Citation Details @@ -187,7 +191,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.650.1/include -DARMA_DONT_USE_WRAPPER -lblas -llapack + g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-4.650.4/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, Files old/armadillo-4.650.1/armadillo_nicta_2010.pdf and new/armadillo-4.650.4/armadillo_nicta_2010.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/docs.html new/armadillo-4.650.4/docs.html --- old/armadillo-4.650.1/docs.html 2015-02-18 04:26:59.000000000 +0100 +++ new/armadillo-4.650.4/docs.html 2015-03-05 06:19:46.000000000 +0100 @@ -1677,9 +1677,9 @@ <br> <li> For form 4, -<i>rowind</i> is a dense column vector of type <i>umat</i> or <i>uvec</i> containing the row indices of the values to be inserted, +<i>rowind</i> is a dense column vector of type <i>uvec</i> containing the row indices of the values to be inserted, and -<i>colptr</i> is a dense column vector of type <i>umat</i> or <i>uvec</i> containing indices of <i>values</i> corresponding to the start of new columns; +<i>colptr</i> is a dense column vector of type <i>uvec</i> (with length <i>n_cols + 1</i>) containing indices of <i>values</i> corresponding to the start of new columns; the vectors correspond to the arrays used by the <a href="http://en.wikipedia.org/wiki/Sparse_matrix">compressed sparse column format</a>; this form is useful for copying data from other CSC sparse matrix containers </li> @@ -3044,22 +3044,35 @@ X<b>( </b>first_row<b>,</b> first_col<b>, size(</b>n_rows<b>, </b>n_cols<b>) )</b><br> X<b>( </b>first_row<b>,</b> first_col<b>, size(</b>Y<b>) )</b> <i>(Y is a mat)</i><br> <br> -X<b>(</b> <b>span::all,</b> col_number <b>)</b><br> X<b>(</b> <b>span(</b>first_row<b>,</b> last_row<b>),</b> col_number <b>)</b><br> -<br> -X<b>(</b> row_number<b>,</b> <b>span::all</b> <b>)</b><br> X<b>(</b> row_number<b>,</b> <b>span(</b>first_col<b>,</b> last_col<b>) )</b><br> <br> X.<b>head_cols( </b>number_of_cols<b> )</b><br> -X.<b>tail_cols( </b>number_of_cols<b> )</b><br> -<br> X.<b>head_rows( </b>number_of_rows<b> )</b><br> +<br> +X.<b>tail_cols( </b>number_of_cols<b> )</b><br> X.<b>tail_rows( </b>number_of_rows<b> )</b><br> <br> X.<b>unsafe_col( </b>col_number<b> )</b><br> </ul> </li> +<br> + +<li> +contiguous views for vector V: +<br> +<br> +<ul> +V<b>( span(</b>first_index<b>,</b> last_index<b>) )</b><br> +V.<b>subvec( </b>first_index<b>,</b> last_index<b> )</b><br> +<br> +V.<b>head( </b>number_of_elements<b> )</b><br> +V.<b>tail( </b>number_of_elements<b> )</b> +</ul> +</li> + + </td> </tr> </tbody> @@ -3069,7 +3082,7 @@ <td> </td> <td class="line" style="vertical-align: top;"> </td> -<td> </td> +<td> </td> <td style="vertical-align: top;"> @@ -3078,21 +3091,6 @@ <tr> <td> -<li> -contiguous views for vector V: -<br> -<br> -<ul> -V<b>( span(</b>first_index<b>,</b> last_index<b>) )</b><br> -V.<b>subvec( </b>first_index<b>,</b> last_index<b> )</b><br> -<br> -V.<b>head( </b>number_of_elements<b> )</b><br> -V.<b>tail( </b>number_of_elements<b> )</b> -</ul> -</li> -<br> -<br> - <li>non-contiguous views for matrix or vector X: <ul> <br> @@ -3132,12 +3130,12 @@ <br> <li> -Instances of <i>span::all</i>, to indicate an entire range, can be replaced by <i>span()</i>, where no number is specified +Instances of <i>span(start,end)</i> can be replaced by <i>span::all</i> to indicate the entire range </li> <br> <li> For functions requiring one or more vector of indices, -eg. <i>X.submat(vector_of_row_indices,vector_of_column_indices)</i>, +eg. <i>X.submat(vector_of_row_indices, vector_of_column_indices)</i>, each vector of indices must be of type <i><a href="#Col">uvec</a></i> </li> <br> @@ -3155,7 +3153,7 @@ <li> The function <i>.unsafe_col()</i> is provided for speed reasons and should be used only if you know what you're doing. The function creates a seemingly independent <i>Col</i> vector object (eg. <i>vec</i>), -but it actually uses memory from the existing matrix object. +but uses memory from the existing matrix object. As such, the created <i>Col</i> vector is currently not alias safe and does not take into account that the parent matrix object could be deleted. If deleted memory is accessed through the created <i>Col</i> vector, @@ -7309,7 +7307,7 @@ <br> <li>See also: <ul> -<li><a href="#set_imag">set_imag() / set_real()</a></li> +<li><a href="#set_imag">.set_imag() / .set_real()</a></li> <li><a href="#abs">abs()</a></li> <li><a href="#conj">conj()</a></li> <li><a href="#conv_to">conv_to()</a></li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo new/armadillo-4.650.4/include/armadillo --- old/armadillo-4.650.1/include/armadillo 2015-02-13 08:35:58.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo 2015-03-06 04:41:30.000000000 +0100 @@ -107,9 +107,10 @@ #ifdef ARMA_RNG_ALT #include ARMA_INCFILE_WRAP(ARMA_RNG_ALT) #else - #include "armadillo_bits/arma_rng_cxx11.hpp" #include "armadillo_bits/arma_rng_cxx98.hpp" #endif + + #include "armadillo_bits/arma_rng_cxx11.hpp" #include "armadillo_bits/arma_rng.hpp" @@ -456,10 +457,13 @@ #include "armadillo_bits/hdf5_misc.hpp" #include "armadillo_bits/fft_engine.hpp" - #include "armadillo_bits/gmm_misc_bones.hpp" - #include "armadillo_bits/gmm_misc_meat.hpp" - #include "armadillo_bits/gmm_diag_bones.hpp" - #include "armadillo_bits/gmm_diag_meat.hpp" + + #if !defined(ARMA_BAD_COMPILER) + #include "armadillo_bits/gmm_misc_bones.hpp" + #include "armadillo_bits/gmm_misc_meat.hpp" + #include "armadillo_bits/gmm_diag_bones.hpp" + #include "armadillo_bits/gmm_diag_meat.hpp" + #endif // // classes implementing various forms of dense matrix multiplication diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/Col_bones.hpp new/armadillo-4.650.4/include/armadillo_bits/Col_bones.hpp --- old/armadillo-4.650.1/include/armadillo_bits/Col_bones.hpp 2015-02-13 10:13:25.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/Col_bones.hpp 2015-02-26 03:11:42.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2013 Conrad Sanderson -// Copyright (C) 2008-2013 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2015 Conrad Sanderson +// Copyright (C) 2008-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -100,6 +100,12 @@ arma_inline subview_col<eT> tail(const uword N); arma_inline const subview_col<eT> tail(const uword N) const; + arma_inline subview_col<eT> head_rows(const uword N); + arma_inline const subview_col<eT> head_rows(const uword N) const; + + arma_inline subview_col<eT> tail_rows(const uword N); + arma_inline const subview_col<eT> tail_rows(const uword N) const; + inline void shed_row (const uword row_num); inline void shed_rows(const uword in_row1, const uword in_row2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/Col_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/Col_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/Col_meat.hpp 2015-02-13 10:13:25.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/Col_meat.hpp 2015-02-26 03:11:42.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2013 Conrad Sanderson -// Copyright (C) 2008-2013 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2015 Conrad Sanderson +// Copyright (C) 2008-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -757,6 +757,54 @@ } + +template<typename eT> +arma_inline +subview_col<eT> +Col<eT>::head_rows(const uword N) + { + arma_extra_debug_sigprint(); + + return (*this).head(N); + } + + + +template<typename eT> +arma_inline +const subview_col<eT> +Col<eT>::head_rows(const uword N) const + { + arma_extra_debug_sigprint(); + + return (*this).head(N); + } + + + +template<typename eT> +arma_inline +subview_col<eT> +Col<eT>::tail_rows(const uword N) + { + arma_extra_debug_sigprint(); + + return (*this).tail(N); + } + + + +template<typename eT> +arma_inline +const subview_col<eT> +Col<eT>::tail_rows(const uword N) const + { + arma_extra_debug_sigprint(); + + return (*this).tail(N); + } + + //! remove specified row template<typename eT> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/Proxy.hpp new/armadillo-4.650.4/include/armadillo_bits/Proxy.hpp --- old/armadillo-4.650.1/include/armadillo_bits/Proxy.hpp 2015-01-21 10:07:49.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/Proxy.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -1486,7 +1486,7 @@ arma_inline aligned_ea_type get_aligned_ea() const { return Q; } template<typename eT2> - arma_inline bool is_alias(const Mat<eT2>& X) const { return false; } + arma_inline bool is_alias(const Mat<eT2>&) const { return false; } arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr()); } }; @@ -1531,7 +1531,7 @@ arma_inline aligned_ea_type get_aligned_ea() const { return Q; } template<typename eT2> - arma_inline bool is_alias(const Mat<eT2>& X) const { return false; } + arma_inline bool is_alias(const Mat<eT2>&) const { return false; } arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr()); } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/Row_bones.hpp new/armadillo-4.650.4/include/armadillo_bits/Row_bones.hpp --- old/armadillo-4.650.1/include/armadillo_bits/Row_bones.hpp 2015-02-13 10:13:25.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/Row_bones.hpp 2015-02-26 03:11:42.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2013 Conrad Sanderson -// Copyright (C) 2008-2013 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2015 Conrad Sanderson +// Copyright (C) 2008-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -100,6 +100,12 @@ arma_inline subview_row<eT> tail(const uword N); arma_inline const subview_row<eT> tail(const uword N) const; + arma_inline subview_row<eT> head_cols(const uword N); + arma_inline const subview_row<eT> head_cols(const uword N) const; + + arma_inline subview_row<eT> tail_cols(const uword N); + arma_inline const subview_row<eT> tail_cols(const uword N) const; + inline void shed_col (const uword col_num); inline void shed_cols(const uword in_col1, const uword in_col2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/Row_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/Row_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/Row_meat.hpp 2015-02-13 10:13:25.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/Row_meat.hpp 2015-02-26 03:11:42.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2013 Conrad Sanderson -// Copyright (C) 2008-2013 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2015 Conrad Sanderson +// Copyright (C) 2008-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -723,6 +723,54 @@ } + +template<typename eT> +arma_inline +subview_row<eT> +Row<eT>::head_cols(const uword N) + { + arma_extra_debug_sigprint(); + + return (*this).head(N); + } + + + +template<typename eT> +arma_inline +const subview_row<eT> +Row<eT>::head_cols(const uword N) const + { + arma_extra_debug_sigprint(); + + return (*this).head(N); + } + + + +template<typename eT> +arma_inline +subview_row<eT> +Row<eT>::tail_cols(const uword N) + { + arma_extra_debug_sigprint(); + + return (*this).tail(N); + } + + + +template<typename eT> +arma_inline +const subview_row<eT> +Row<eT>::tail_cols(const uword N) const + { + arma_extra_debug_sigprint(); + + return (*this).tail(N); + } + + //! remove specified columns template<typename eT> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/SpMat_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/SpMat_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/SpMat_meat.hpp 2015-02-23 05:20:26.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/SpMat_meat.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -3394,11 +3394,11 @@ break; default: - arma_warn(true, "SpMat::save(): unsupported file type"); + arma_warn(print_status, "SpMat::save(): unsupported file type"); save_okay = false; } - arma_warn( (save_okay == false), "SpMat::save(): couldn't write to ", name); + arma_warn( print_status && (save_okay == false), "SpMat::save(): couldn't write to ", name); return save_okay; } @@ -3434,11 +3434,11 @@ break; default: - arma_warn(true, "SpMat::save(): unsupported file type"); + arma_warn(print_status, "SpMat::save(): unsupported file type"); save_okay = false; } - arma_warn( (save_okay == false), "SpMat::save(): couldn't write to the given stream"); + arma_warn( print_status && (save_okay == false), "SpMat::save(): couldn't write to the given stream"); return save_okay; } @@ -3479,7 +3479,7 @@ break; default: - arma_warn(true, "SpMat::load(): unsupported file type"); + arma_warn(print_status, "SpMat::load(): unsupported file type"); load_okay = false; } @@ -3487,11 +3487,11 @@ { if(err_msg.length() > 0) { - arma_warn(true, "SpMat::load(): ", err_msg, name); + arma_warn(print_status, "SpMat::load(): ", err_msg, name); } else { - arma_warn(true, "SpMat::load(): couldn't read ", name); + arma_warn(print_status, "SpMat::load(): couldn't read ", name); } } @@ -3539,7 +3539,7 @@ break; default: - arma_warn(true, "SpMat::load(): unsupported file type"); + arma_warn(print_status, "SpMat::load(): unsupported file type"); load_okay = false; } @@ -3548,11 +3548,11 @@ { if(err_msg.length() > 0) { - arma_warn(true, "SpMat::load(): ", err_msg, "the given stream"); + arma_warn(print_status, "SpMat::load(): ", err_msg, "the given stream"); } else { - arma_warn(true, "SpMat::load(): couldn't load from the given stream"); + arma_warn(print_status, "SpMat::load(): couldn't load from the given stream"); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/SpProxy.hpp new/armadillo-4.650.4/include/armadillo_bits/SpProxy.hpp --- old/armadillo-4.650.1/include/armadillo_bits/SpProxy.hpp 2013-02-21 08:16:35.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/SpProxy.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -101,7 +101,7 @@ arma_inline const uword* get_col_ptrs() const { return Q.col_ptrs; } arma_inline const_iterator_type begin() const { return Q.begin(); } - arma_inline const_iterator_type begin_col(const uword col_num) const { return Q.begin(); } + arma_inline const_iterator_type begin_col(const uword) const { return Q.begin(); } arma_inline const_row_iterator_type begin_row(const uword row_num = 0) const { return Q.begin_row(row_num); } arma_inline const_iterator_type end() const { return Q.end(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/arma_cmath.hpp new/armadillo-4.650.4/include/armadillo_bits/arma_cmath.hpp --- old/armadillo-4.650.1/include/armadillo_bits/arma_cmath.hpp 2014-10-21 18:40:33.000000000 +0200 +++ new/armadillo-4.650.4/include/armadillo_bits/arma_cmath.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -364,6 +364,7 @@ } #else { + arma_ignore(x); arma_stop("acos(): need C++11 compiler"); return std::complex<T>(0); @@ -388,6 +389,7 @@ } #else { + arma_ignore(x); arma_stop("asin(): need C++11 compiler"); return std::complex<T>(0); @@ -412,6 +414,7 @@ } #else { + arma_ignore(x); arma_stop("atan(): need C++11 compiler"); return std::complex<T>(0); @@ -533,6 +536,7 @@ } #else { + arma_ignore(x); arma_stop("acosh(): need C++11 compiler"); return std::complex<T>(0); @@ -557,6 +561,7 @@ } #else { + arma_ignore(x); arma_stop("asinh(): need C++11 compiler"); return std::complex<T>(0); @@ -581,6 +586,7 @@ } #else { + arma_ignore(x); arma_stop("atanh(): need C++11 compiler"); return std::complex<T>(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/arma_version.hpp new/armadillo-4.650.4/include/armadillo_bits/arma_version.hpp --- old/armadillo-4.650.1/include/armadillo_bits/arma_version.hpp 2015-02-23 05:27:48.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/arma_version.hpp 2015-03-20 04:36:40.000000000 +0100 @@ -13,7 +13,7 @@ #define ARMA_VERSION_MAJOR 4 #define ARMA_VERSION_MINOR 650 -#define ARMA_VERSION_PATCH 1 +#define ARMA_VERSION_PATCH 4 #define ARMA_VERSION_NAME "Intravenous Caffeine Injector" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/compiler_setup.hpp new/armadillo-4.650.4/include/armadillo_bits/compiler_setup.hpp --- old/armadillo-4.650.1/include/armadillo_bits/compiler_setup.hpp 2015-02-10 14:22:25.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/compiler_setup.hpp 2015-03-20 04:34:26.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2014 Conrad Sanderson -// Copyright (C) 2008-2014 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2015 Conrad Sanderson +// Copyright (C) 2008-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -288,6 +288,11 @@ #define ARMA_HAVE_GCC_ASSUME_ALIGNED #endif + #if defined(__apple_build_version__) + #undef ARMA_USE_EXTERN_CXX11_RNG + // because Apple engineers are too lazy to implement thread_local + #endif + #endif @@ -319,6 +324,7 @@ #if (_MSC_VER < 1700) #pragma message ("WARNING: this compiler is outdated and has incomplete support for the C++ standard;") #pragma message ("WARNING: if something breaks, you get to keep all the pieces") + #define ARMA_BAD_COMPILER #endif #if defined(ARMA_USE_CXX11) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/diskio_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/diskio_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/diskio_meat.hpp 2015-02-17 13:54:01.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/diskio_meat.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -2472,6 +2472,9 @@ bool diskio::load_coord_ascii(SpMat<eT>& x, std::istream& f, std::string& err_msg) { + arma_extra_debug_sigprint(); + arma_ignore(err_msg); + bool load_okay = f.good(); f.clear(); @@ -2694,6 +2697,9 @@ bool diskio::load_coord_ascii(SpMat< std::complex<T> >& x, std::istream& f, std::string& err_msg) { + arma_extra_debug_sigprint(); + arma_ignore(err_msg); + bool load_okay = f.good(); f.clear(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_accu.hpp new/armadillo-4.650.4/include/armadillo_bits/fn_accu.hpp --- old/armadillo-4.650.1/include/armadillo_bits/fn_accu.hpp 2015-02-23 08:53:27.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/fn_accu.hpp 2015-02-25 04:02:17.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2014 Conrad Sanderson -// Copyright (C) 2008-2014 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2015 Conrad Sanderson +// Copyright (C) 2008-2015 NICTA (www.nicta.com.au) // Copyright (C) 2012 Ryan Curtin // // This Source Code Form is subject to the terms of the Mozilla Public @@ -202,6 +202,61 @@ +template<typename T1> +inline +arma_warn_unused +uword +accu(const mtOp<uword,T1,op_rel_eq>& X) + { + arma_extra_debug_sigprint(); + + typedef typename T1::elem_type eT; + + const eT val = X.aux; + + const Proxy<T1> P(X.m); + + uword n_nonzero = 0; + + if(Proxy<T1>::prefer_at_accessor == false) + { + typedef typename Proxy<T1>::ea_type ea_type; + + ea_type A = P.get_ea(); + const uword n_elem = P.get_n_elem(); + + for(uword i=0; i<n_elem; ++i) + { + n_nonzero += (A[i] == val) ? uword(1) : uword(0); + } + } + else + { + const uword P_n_cols = P.get_n_cols(); + const uword P_n_rows = P.get_n_rows(); + + if(P_n_rows == 1) + { + for(uword col=0; col < P_n_cols; ++col) + { + n_nonzero += (P.at(0,col) == val) ? uword(1) : uword(0); + } + } + else + { + for(uword col=0; col < P_n_cols; ++col) + for(uword row=0; row < P_n_rows; ++row) + { + n_nonzero += (P.at(row,col) == val) ? uword(1) : uword(0); + } + } + } + + return n_nonzero; + } + + + //! accumulate the elements of a subview (submatrix) template<typename eT> arma_hot @@ -220,24 +275,13 @@ if(X_n_rows == 1) { - const Mat<eT>& A = X.m; + typedef subview_row<eT> sv_type; - const uword start_row = X.aux_row1; - const uword start_col = X.aux_col1; + const sv_type& sv = reinterpret_cast<const sv_type&>(X); // subview_row<eT> is a child class of subview<eT> and has no extra data - const uword end_col_p1 = start_col + X_n_cols; + const Proxy<sv_type> P(sv); - uword i,j; - for(i=start_col, j=start_col+1; j < end_col_p1; i+=2, j+=2) - { - val += A.at(start_row, i); - val += A.at(start_row, j); - } - - if(i < end_col_p1) - { - val += A.at(start_row, i); - } + val = accu_proxy_linear(P); } else if(X_n_cols == 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_all.hpp new/armadillo-4.650.4/include/armadillo_bits/fn_all.hpp --- old/armadillo-4.650.1/include/armadillo_bits/fn_all.hpp 2013-08-08 17:07:14.000000000 +0200 +++ new/armadillo-4.650.4/include/armadillo_bits/fn_all.hpp 2015-03-20 07:17:35.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2013 Conrad Sanderson -// Copyright (C) 2013 NICTA (www.nicta.com.au) +// Copyright (C) 2013-2015 Conrad Sanderson +// Copyright (C) 2013-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -32,9 +32,8 @@ template<typename T1> -inline -arma_warn_unused -bool +arma_inline +const mtOp<uword, T1, op_all> all ( const T1& X, @@ -45,7 +44,7 @@ arma_extra_debug_sigprint(); arma_ignore(junk); - return op_all::all_vec(X); + return mtOp<uword, T1, op_all>(X, dim, 0); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_any.hpp new/armadillo-4.650.4/include/armadillo_bits/fn_any.hpp --- old/armadillo-4.650.1/include/armadillo_bits/fn_any.hpp 2013-08-08 13:26:50.000000000 +0200 +++ new/armadillo-4.650.4/include/armadillo_bits/fn_any.hpp 2015-03-20 07:17:35.000000000 +0100 @@ -1,5 +1,5 @@ -// Copyright (C) 2013 Conrad Sanderson -// Copyright (C) 2013 NICTA (www.nicta.com.au) +// Copyright (C) 2013-2015 Conrad Sanderson +// Copyright (C) 2013-2015 NICTA (www.nicta.com.au) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -32,9 +32,8 @@ template<typename T1> -inline -arma_warn_unused -bool +arma_inline +const mtOp<uword, T1, op_any> any ( const T1& X, @@ -45,7 +44,7 @@ arma_extra_debug_sigprint(); arma_ignore(junk); - return op_any::any_vec(X); + return mtOp<uword, T1, op_any>(X, dim, 0); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_n_unique.hpp new/armadillo-4.650.4/include/armadillo_bits/fn_n_unique.hpp --- old/armadillo-4.650.1/include/armadillo_bits/fn_n_unique.hpp 2014-02-23 06:11:59.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/fn_n_unique.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -114,7 +114,7 @@ struct op_n_unique_count { - template<typename eT> inline static eT eval(const eT& l, const eT& r) { return 1; } + template<typename eT> inline static eT eval(const eT&, const eT&) { return eT(1); } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_norm_sparse.hpp new/armadillo-4.650.4/include/armadillo_bits/fn_norm_sparse.hpp --- old/armadillo-4.650.1/include/armadillo_bits/fn_norm_sparse.hpp 2014-02-25 18:21:37.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/fn_norm_sparse.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -66,6 +66,7 @@ //typedef typename T1::elem_type eT; typedef typename T1::pod_type T; + arma_ignore(P); arma_stop("norm(): unimplemented norm type for complex sparse matrices"); return T(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_randg.hpp new/armadillo-4.650.4/include/armadillo_bits/fn_randg.hpp --- old/armadillo-4.650.1/include/armadillo_bits/fn_randg.hpp 2015-02-16 04:44:29.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/fn_randg.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -75,6 +75,10 @@ } #else { + arma_ignore(n_rows); + arma_ignore(n_cols); + arma_ignore(param); + arma_stop("randg(): C++11 compiler required"); return obj_type(); @@ -181,6 +185,11 @@ } #else { + arma_ignore(n_rows); + arma_ignore(n_cols); + arma_ignore(n_slices); + arma_ignore(param); + arma_stop("randg(): C++11 compiler required"); return cube_type(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/gmm_diag_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/gmm_diag_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/gmm_diag_meat.hpp 2014-12-18 12:32:28.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/gmm_diag_meat.hpp 2015-03-15 16:14:54.000000000 +0100 @@ -269,11 +269,14 @@ Cube<eT> Q(means.n_rows + 1, means.n_cols, 2); - Q.slice(0).row(0) = hefts; - Q.slice(1).row(0).zeros(); // reserved for future use - - Q.slice(0).submat(1, 0, size(means)) = means; - Q.slice(1).submat(1, 0, size(dcovs)) = dcovs; + if(Q.n_elem > 0) + { + Q.slice(0).row(0) = hefts; + Q.slice(1).row(0).zeros(); // reserved for future use + + Q.slice(0).submat(1, 0, size(means)) = means; + Q.slice(1).submat(1, 0, size(dcovs)) = dcovs; + } const bool status = Q.save(name, arma_binary); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/sp_auxlib_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/sp_auxlib_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/sp_auxlib_meat.hpp 2015-01-28 03:00:10.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/sp_auxlib_meat.hpp 2015-03-17 16:25:37.000000000 +0100 @@ -139,6 +139,9 @@ arma_ignore(eigvec); arma_ignore(X); arma_ignore(n_eigvals); + arma_ignore(form_str); + arma_ignore(default_tol); + arma_stop("eigs_sym(): use of ARPACK needs to be enabled"); return false; } @@ -289,6 +292,9 @@ arma_ignore(eigvec); arma_ignore(X); arma_ignore(n_eigvals); + arma_ignore(form_str); + arma_ignore(default_tol); + arma_stop("eigs_gen(): use of ARPACK needs to be enabled"); return false; } @@ -403,6 +409,9 @@ arma_ignore(eigvec); arma_ignore(X); arma_ignore(n_eigvals); + arma_ignore(form_str); + arma_ignore(default_tol); + arma_stop("eigs_gen(): use of ARPACK needs to be enabled"); return false; } @@ -540,5 +549,23 @@ return; // Parent frame can look at the value of info. } } + #else + arma_ignore(n_eigvals); + arma_ignore(which); + arma_ignore(p); + arma_ignore(sym); + arma_ignore(n); + arma_ignore(tol); + arma_ignore(resid); + arma_ignore(ncv); + arma_ignore(v); + arma_ignore(ldv); + arma_ignore(iparam); + arma_ignore(ipntr); + arma_ignore(workd); + arma_ignore(workl); + arma_ignore(lworkl); + arma_ignore(rwork); + arma_ignore(info); #endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/subview_meat.hpp new/armadillo-4.650.4/include/armadillo_bits/subview_meat.hpp --- old/armadillo-4.650.1/include/armadillo_bits/subview_meat.hpp 2015-02-02 16:26:07.000000000 +0100 +++ new/armadillo-4.650.4/include/armadillo_bits/subview_meat.hpp 2015-02-26 04:29:51.000000000 +0100 @@ -2999,7 +2999,7 @@ arma_debug_check( (N > subview<eT>::n_rows), "subview_col::tail(): size out of bounds"); - const uword start_row = subview<eT>::n_rows - N; + const uword start_row = subview<eT>::aux_row1 + subview<eT>::n_rows - N; return subview_col<eT>(this->m, this->aux_col1, start_row, N); } @@ -3015,7 +3015,7 @@ arma_debug_check( (N > subview<eT>::n_rows), "subview_col::tail(): size out of bounds"); - const uword start_row = subview<eT>::n_rows - N; + const uword start_row = subview<eT>::aux_row1 + subview<eT>::n_rows - N; return subview_col<eT>(this->m, this->aux_col1, start_row, N); } @@ -3367,7 +3367,7 @@ arma_debug_check( (N > subview<eT>::n_cols), "subview_row::tail(): size out of bounds"); - const uword start_col = subview<eT>::n_cols - N; + const uword start_col = subview<eT>::aux_col1 + subview<eT>::n_cols - N; return subview_row<eT>(this->m, this->aux_row1, start_col, N); } @@ -3383,7 +3383,7 @@ arma_debug_check( (N > subview<eT>::n_cols), "subview_row::tail(): size out of bounds"); - const uword start_col = subview<eT>::n_cols - N; + const uword start_col = subview<eT>::aux_col1 + subview<eT>::n_cols - N; return subview_row<eT>(this->m, this->aux_row1, start_col, N); } -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org