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 - badshah...@gmail.com
+
+- 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: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to