Hello community, here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2012-10-09 13:47:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/armadillo (Old) and /work/SRC/openSUSE:Factory/.armadillo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "armadillo", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes 2012-10-03 07:04:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2012-10-09 13:54:33.000000000 +0200 @@ -1,0 +2,14 @@ +Sun Oct 7 23:53:46 UTC 2012 - [email protected] + +- Update to version 3.4.3: + + Fix for aliasing issue in diagmat() + + Fix for speye() signature + + Fixes for handling empty sparse matrices + + Minor fixes for handling sparse submatrix views + + Minor speedups for sparse matrices + + Workaround for a bug in the Mac OS X accelerate framework + + Added documentation for saving & loading matrices in HDF5 + format + + Faster dot() and cdot() for complex numbers. + +------------------------------------------------------------------- Old: ---- armadillo-3.4.2.tar.gz New: ---- armadillo-3.4.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ armadillo.spec ++++++ --- /var/tmp/diff_new_pack.NuFIpG/_old 2012-10-09 13:54:34.000000000 +0200 +++ /var/tmp/diff_new_pack.NuFIpG/_new 2012-10-09 13:54:34.000000000 +0200 @@ -17,7 +17,7 @@ Name: armadillo -Version: 3.4.2 +Version: 3.4.3 Release: 0 Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS License: LGPL-3.0+ ++++++ armadillo-3.4.2.tar.gz -> armadillo-3.4.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-3.4.2/CMakeLists.txt new/armadillo-3.4.3/CMakeLists.txt --- old/armadillo-3.4.2/CMakeLists.txt 2012-09-25 07:37:23.000000000 +0200 +++ new/armadillo-3.4.3/CMakeLists.txt 2012-10-03 03:42:50.000000000 +0200 @@ -16,7 +16,7 @@ set(ARMA_MAJOR 3) set(ARMA_MINOR 4) -set(ARMA_PATCH 2) +set(ARMA_PATCH 3) message(STATUS "Configuring Armadillo ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-3.4.2/README.txt new/armadillo-3.4.3/README.txt --- old/armadillo-3.4.2/README.txt 2012-09-25 08:07:44.000000000 +0200 +++ new/armadillo-3.4.3/README.txt 2012-10-03 03:42:50.000000000 +0200 @@ -447,6 +447,7 @@ - David Lawrence - Jussi Lehtola - Jeremy Mason +- Nikolay Mayorov - Carlos Mendes - Artem Novikov - Martin Orlob diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-3.4.2/include/armadillo_bits/arma_version.hpp new/armadillo-3.4.3/include/armadillo_bits/arma_version.hpp --- old/armadillo-3.4.2/include/armadillo_bits/arma_version.hpp 2012-09-20 06:40:59.000000000 +0200 +++ new/armadillo-3.4.3/include/armadillo_bits/arma_version.hpp 2012-10-03 03:42:50.000000000 +0200 @@ -18,7 +18,7 @@ #define ARMA_VERSION_MAJOR 3 #define ARMA_VERSION_MINOR 4 -#define ARMA_VERSION_PATCH 2 +#define ARMA_VERSION_PATCH 3 #define ARMA_VERSION_NAME "Ku De Ta" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-3.4.2/include/armadillo_bits/fn_diagmat.hpp new/armadillo-3.4.3/include/armadillo_bits/fn_diagmat.hpp --- old/armadillo-3.4.2/include/armadillo_bits/fn_diagmat.hpp 2011-05-23 17:00:31.000000000 +0200 +++ new/armadillo-3.4.3/include/armadillo_bits/fn_diagmat.hpp 2012-10-03 03:38:44.000000000 +0200 @@ -1,5 +1,5 @@ -// Copyright (C) 2008-2010 NICTA (www.nicta.com.au) -// Copyright (C) 2008-2010 Conrad Sanderson +// Copyright (C) 2008-2012 NICTA (www.nicta.com.au) +// Copyright (C) 2008-2012 Conrad Sanderson // // This file is part of the Armadillo C++ library. // It is provided without any warranty of fitness @@ -18,12 +18,17 @@ //! interpret a matrix or a vector as a diagonal matrix (i.e. off-diagonal entries are zero) template<typename T1> arma_inline -const Op<T1, op_diagmat> -diagmat(const Base<typename T1::elem_type,T1>& X) +typename +enable_if2 + < + is_arma_type<T1>::value, + const Op<T1, op_diagmat> + >::result +diagmat(const T1& X) { arma_extra_debug_sigprint(); - return Op<T1, op_diagmat>(X.get_ref()); + return Op<T1, op_diagmat>(X); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-3.4.2/include/armadillo_bits/fn_speye.hpp new/armadillo-3.4.3/include/armadillo_bits/fn_speye.hpp --- old/armadillo-3.4.2/include/armadillo_bits/fn_speye.hpp 2012-08-27 06:09:28.000000000 +0200 +++ new/armadillo-3.4.3/include/armadillo_bits/fn_speye.hpp 2012-10-02 15:45:45.000000000 +0200 @@ -1,4 +1,5 @@ // Copyright (C) 2012 Conrad Sanderson +// Copyright (C) 2012 Ryan Curtin // // This file is part of the Armadillo C++ library. // It is provided without any warranty of fitness @@ -16,14 +17,15 @@ //! Generate a sparse matrix with the values along the main diagonal set to one -template<typename eT> +template<typename obj_type> inline -SpMat<eT> -speye(const uword n_rows, const uword n_cols) +obj_type +speye(const uword n_rows, const uword n_cols, const typename arma_SpMat_SpCol_SpRow_only<obj_type>::result* junk = NULL) { arma_extra_debug_sigprint(); + arma_ignore(junk); - SpMat<eT> out; + obj_type out; out.eye(n_rows, n_cols); @@ -32,6 +34,7 @@ +// Convenience shortcut method (no template parameter necessary) inline sp_mat speye(const uword n_rows, const uword n_cols) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-3.4.2/include/armadillo_bits/op_diagmat_meat.hpp new/armadillo-3.4.3/include/armadillo_bits/op_diagmat_meat.hpp --- old/armadillo-3.4.2/include/armadillo_bits/op_diagmat_meat.hpp 2012-05-02 15:55:56.000000000 +0200 +++ new/armadillo-3.4.3/include/armadillo_bits/op_diagmat_meat.hpp 2012-10-02 07:33:53.000000000 +0200 @@ -101,23 +101,31 @@ } else // generate a diagonal matrix out of a matrix { - // NOTE: we're assuming that the output matrix is the same as the matrix provided by the Proxy, - // NOTE: and the alias is not due to a matrix using auxiliary memory; - // NOTE: this assumption is currently valid for matrices, but not for vectors; - // NOTE: as we've checked that at this point in code we're dealing with a matrix, - // NOTE: the assumption is thus currently valid - arma_debug_check( (n_rows != n_cols), "diagmat(): given matrix is not square" ); - for(uword i=0; i < n_rows; ++i) + if( (Proxy<T1>::has_subview == false) && (Proxy<T1>::fake_mat == false) ) { - eT* colptr = out.colptr(i); + // NOTE: we have aliasing and it's not due to a subview, hence we're assuming that the output matrix already has the correct size + + for(uword i=0; i < n_rows; ++i) + { + const eT val = P.at(i,i); + + arrayops::inplace_set(out.colptr(i), eT(0), n_rows); + + out.at(i,i) = val; + } + } + else + { + podarray<eT> tmp(n_rows); + eT* tmp_mem = tmp.memptr(); + + for(uword i=0; i < n_rows; ++i) { tmp_mem[i] = P.at(i,i); } - // clear above the diagonal - arrayops::inplace_set(colptr, eT(0), i); + out.zeros(n_rows, n_rows); - // clear below the diagonal - arrayops::inplace_set(colptr+(i+1), eT(0), n_rows-1-i); + for(uword i=0; i < n_rows; ++i) { out.at(i,i) = tmp_mem[i]; } } } } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
