Hello community, here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2011-11-16 17:16:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2011-10-25 15:47:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2011-11-16 17:16:31.000000000 +0100 @@ -1,0 +2,6 @@ +Tue Nov 15 05:30:02 UTC 2011 - [email protected] + +- Update to version 2.2.5 (bug-fix release; no summary of changes + documented upstream) + +------------------------------------------------------------------- Old: ---- armadillo-2.2.4.tar.bz2 New: ---- armadillo-2.2.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ armadillo.spec ++++++ --- /var/tmp/diff_new_pack.uPEZpT/_old 2011-11-16 17:16:33.000000000 +0100 +++ /var/tmp/diff_new_pack.uPEZpT/_new 2011-11-16 17:16:33.000000000 +0100 @@ -18,7 +18,7 @@ Name: armadillo -Version: 2.2.4 +Version: 2.2.5 Release: 1 License: LGPLv3+ Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS ++++++ armadillo-2.2.4.tar.bz2 -> armadillo-2.2.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/CMakeLists.txt new/armadillo-2.2.5/CMakeLists.txt --- old/armadillo-2.2.4/CMakeLists.txt 2011-10-17 09:57:08.000000000 +0200 +++ new/armadillo-2.2.5/CMakeLists.txt 2011-11-14 08:19:49.000000000 +0100 @@ -15,7 +15,7 @@ set(ARMA_MAJOR 2) set(ARMA_MINOR 2) -set(ARMA_PATCH 4) +set(ARMA_PATCH 5) message(STATUS "Configuring Armadillo ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/docs/index.html new/armadillo-2.2.5/docs/index.html --- old/armadillo-2.2.4/docs/index.html 2011-10-17 07:17:45.000000000 +0200 +++ new/armadillo-2.2.5/docs/index.html 2011-11-14 08:19:49.000000000 +0100 @@ -17,7 +17,7 @@ <tbody> <tr> <td style="text-align: left; vertical-align: top;"> - <font size=+2><b>Reference for Armadillo 2.2.4</b></font> + <font size=+2><b>Reference for Armadillo 2.2.5</b></font> <br> <font size=-1><b>(Blue Skies Debauchery)</b></font> </td> @@ -452,7 +452,7 @@ <br> <ul> Create a fixed size matrix, with the size specified via template arguments, -and copying data from read-only auxiliary memory. +and copying data from auxiliary memory. </ul> </li> </ul> @@ -715,7 +715,7 @@ <br> <ul> Create a fixed size column vector, with the size specified via the template argument, -and copying data from read-only auxiliary memory. +and copying data from auxiliary memory. </ul> </li> </ul> @@ -939,7 +939,7 @@ <br> <ul> Create a fixed size row vector, with the size specified via the template argument, -and copying data from read-only auxiliary memory. +and copying data from auxiliary memory. </ul> </li> </ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/include/armadillo_bits/Mat_meat.hpp new/armadillo-2.2.5/include/armadillo_bits/Mat_meat.hpp --- old/armadillo-2.2.4/include/armadillo_bits/Mat_meat.hpp 2011-07-08 09:42:31.000000000 +0200 +++ new/armadillo-2.2.5/include/armadillo_bits/Mat_meat.hpp 2011-11-14 01:59:19.000000000 +0100 @@ -2700,10 +2700,21 @@ Mat<eT>::operator=(const eOp<T1, eop_type>& X) { arma_extra_debug_sigprint(); - + arma_type_check< is_same_type< eT, typename T1::elem_type >::value == false >::apply(); - eop_type::apply(*this, X); + const bool bad_alias = (X.P.has_subview && X.P.is_alias(*this)); + + if(bad_alias == false) + { + eop_type::apply(*this, X); + } + else + { + Mat<eT> tmp(X); + + steal_mem(tmp); + } return *this; } @@ -3113,7 +3124,18 @@ arma_type_check< is_same_type< eT, typename T1::elem_type >::value == false >::apply(); arma_type_check< is_same_type< eT, typename T2::elem_type >::value == false >::apply(); - eglue_type::apply(*this, X); + const bool bad_alias = ( (X.P1.has_subview && X.P1.is_alias(*this)) || ( X.P2.has_subview && X.P2.is_alias(*this)) ); + + if(bad_alias == false) + { + eglue_type::apply(*this, X); + } + else + { + Mat<eT> tmp(X); + + steal_mem(tmp); + } return *this; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/include/armadillo_bits/Proxy.hpp new/armadillo-2.2.5/include/armadillo_bits/Proxy.hpp --- old/armadillo-2.2.4/include/armadillo_bits/Proxy.hpp 2011-05-30 06:23:57.000000000 +0200 +++ new/armadillo-2.2.5/include/armadillo_bits/Proxy.hpp 2011-11-14 01:59:19.000000000 +0100 @@ -42,6 +42,7 @@ typedef const eT* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Mat<eT>& Q; @@ -75,6 +76,7 @@ typedef const eT* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Col<eT>& Q; @@ -108,6 +110,7 @@ typedef const eT* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Row<eT>& Q; @@ -141,6 +144,7 @@ typedef const elem_type* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Mat<elem_type> Q; @@ -174,6 +178,7 @@ typedef const elem_type* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Mat<elem_type> Q; @@ -207,6 +212,7 @@ typedef const subview<eT>& ea_type; static const bool prefer_at_accessor = true; + static const bool has_subview = true; arma_aligned const subview<eT>& Q; @@ -240,6 +246,7 @@ typedef const eT* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Mat<eT> Q; @@ -273,6 +280,7 @@ typedef const diagview<eT>& ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = true; arma_aligned const diagview<eT>& Q; @@ -307,6 +315,7 @@ typedef const eOp<T1, eop_type>& ea_type; static const bool prefer_at_accessor = eOp<T1, eop_type>::prefer_at_accessor; + static const bool has_subview = eOp<T1, eop_type>::has_subview; arma_aligned const eOp<T1, eop_type>& Q; @@ -340,6 +349,7 @@ typedef const eGlue<T1, T2, eglue_type>& ea_type; static const bool prefer_at_accessor = eGlue<T1, T2, eglue_type>::prefer_at_accessor; + static const bool has_subview = eGlue<T1, T2, eglue_type>::has_subview; arma_aligned const eGlue<T1, T2, eglue_type>& Q; @@ -373,6 +383,7 @@ typedef const elem_type* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Mat<out_eT> Q; @@ -406,6 +417,7 @@ typedef const elem_type* ea_type; static const bool prefer_at_accessor = false; + static const bool has_subview = false; arma_aligned const Mat<out_eT> Q; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/include/armadillo_bits/arma_version.hpp new/armadillo-2.2.5/include/armadillo_bits/arma_version.hpp --- old/armadillo-2.2.4/include/armadillo_bits/arma_version.hpp 2011-10-17 09:57:08.000000000 +0200 +++ new/armadillo-2.2.5/include/armadillo_bits/arma_version.hpp 2011-11-14 08:19:49.000000000 +0100 @@ -18,7 +18,7 @@ #define ARMA_VERSION_MAJOR 2 #define ARMA_VERSION_MINOR 2 -#define ARMA_VERSION_PATCH 4 +#define ARMA_VERSION_PATCH 5 #define ARMA_VERSION_NAME "Blue Skies Debauchery" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/include/armadillo_bits/eGlue_bones.hpp new/armadillo-2.2.5/include/armadillo_bits/eGlue_bones.hpp --- old/armadillo-2.2.4/include/armadillo_bits/eGlue_bones.hpp 2011-05-21 19:36:56.000000000 +0200 +++ new/armadillo-2.2.5/include/armadillo_bits/eGlue_bones.hpp 2011-11-14 01:59:19.000000000 +0100 @@ -24,6 +24,7 @@ typedef typename get_pod_type<elem_type>::result pod_type; static const bool prefer_at_accessor = (Proxy<T1>::prefer_at_accessor || Proxy<T2>::prefer_at_accessor); + static const bool has_subview = (Proxy<T1>::has_subview || Proxy<T2>::has_subview ); arma_aligned const Proxy<T1> P1; arma_aligned const Proxy<T2> P2; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-2.2.4/include/armadillo_bits/eOp_bones.hpp new/armadillo-2.2.5/include/armadillo_bits/eOp_bones.hpp --- old/armadillo-2.2.4/include/armadillo_bits/eOp_bones.hpp 2011-05-21 19:36:56.000000000 +0200 +++ new/armadillo-2.2.5/include/armadillo_bits/eOp_bones.hpp 2011-11-14 01:59:19.000000000 +0100 @@ -26,6 +26,7 @@ typedef Proxy<T1> proxy_type; static const bool prefer_at_accessor = Proxy<T1>::prefer_at_accessor; + static const bool has_subview = Proxy<T1>::has_subview; arma_aligned const Proxy<T1> P; arma_aligned const elem_type aux; //!< storage of auxiliary data, user defined format -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
