Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package armadillo for openSUSE:Factory 
checked in at 2022-02-09 20:39:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/armadillo (Old)
 and      /work/SRC/openSUSE:Factory/.armadillo.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "armadillo"

Wed Feb  9 20:39:34 2022 rev:160 rq:952825 version:10.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes      2022-01-31 
22:57:29.081515813 +0100
+++ /work/SRC/openSUSE:Factory/.armadillo.new.1898/armadillo.changes    
2022-02-09 20:40:49.830609970 +0100
@@ -1,0 +2,6 @@
+Tue Feb  8 17:33:05 UTC 2022 - Atri Bhattacharya <badshah...@gmail.com>
+
+- Update to version 10.8.2:
+  * Bug fix release.
+
+-------------------------------------------------------------------

Old:
----
  armadillo-10.8.1.tar.xz

New:
----
  armadillo-10.8.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.zuutk4/_old  2022-02-09 20:40:50.498611568 +0100
+++ /var/tmp/diff_new_pack.zuutk4/_new  2022-02-09 20:40:50.506611587 +0100
@@ -18,7 +18,7 @@
 
 %define soname libarmadillo10
 Name:           armadillo
-Version:        10.8.1
+Version:        10.8.2
 Release:        0
 Summary:        C++ matrix library with interfaces to LAPACK and ATLAS
 License:        Apache-2.0

++++++ armadillo-10.8.1.tar.xz -> armadillo-10.8.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-10.8.1/docs.html 
new/armadillo-10.8.2/docs.html
--- old/armadillo-10.8.1/docs.html      2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/docs.html      2016-06-16 18:24:22.000000000 +0200
@@ -301,7 +301,7 @@
 <tr><td><a 
href="#iterators_cube">iterators&nbsp;(cubes)</a></td><td>&nbsp;</td><td>iterators
 and associated member functions for cubes</td></tr>
 <tr><td><a href="#iterators_spmat">iterators&nbsp;(sparse 
matrices)</a></td><td>&nbsp;</td><td>iterators and associated member functions 
for sparse matrices</td></tr>
 <tr><td><a 
href="#iterators_submat">iterators&nbsp;(submatrices)</a></td><td>&nbsp;</td><td>iterators
 and associated member functions for submatrices &amp; subcubes</td></tr>
-<tr><td><a 
href="#compat_container_fns">compat.&nbsp;container&nbsp;functions</a></td><td>&nbsp;</td><td>compatibility
 container functions</td></tr>
+<tr><td><a 
href="#compat_container_fns">compat.&thinsp;container&thinsp;functions</a></td><td>&nbsp;</td><td>compatibility
 container functions</td></tr>
 
<tr><td><small><small>&nbsp;</small></small></td><td><small><small>&nbsp;</small></small></td><td><small><small>&nbsp;</small></small></td></tr>
 <tr><td><a 
href="#as_col_row">.as_col&nbsp;/&nbsp;.as_row&nbsp;</a></td><td>&nbsp;</td><td>return
 flattened matrix as column or row vector</td></tr>
 <tr><td><a 
href="#t_st_members">.t&nbsp;/&nbsp;.st&nbsp;</a></td><td>&nbsp;</td><td>return 
matrix transpose</td></tr>
@@ -331,7 +331,7 @@
 <tr><td><a href="#raw_print">.raw_print</a></td><td>&nbsp;</td><td>print 
object without formatting</td></tr>
 <tr><td><a href="#brief_print">.brief_print</a></td><td>&nbsp;</td><td>print 
object in abridged form</td></tr>
 
<tr><td><small><small>&nbsp;</small></small></td><td><small><small>&nbsp;</small></small></td><td><small><small>&nbsp;</small></small></td></tr>
-<tr><td><a 
href="#save_load_mat">.save/.load&nbsp;(matrices&nbsp;&amp;&nbsp;cubes)</a></td><td>&nbsp;</td><td>save/load
 matrices and cubes in files or streams</td></tr>
+<tr><td><a 
href="#save_load_mat">.save/.load&nbsp;(matrices&thinsp;&amp;&thinsp;cubes)</a></td><td>&nbsp;</td><td>save/load
 matrices and cubes in files or streams</td></tr>
 <tr><td><a 
href="#save_load_field">.save/.load&nbsp;(fields)</a></td><td>&nbsp;</td><td>save/load
 fields in files or streams</td></tr>
 </tbody>
 </table>
@@ -2268,7 +2268,7 @@
 </li>
 <br>
 <li>
-For "broadcasting" operations, use <a href="#each_colrow">.each_col()</a> and 
<a href="#each_colrow">.each_row()</a>
+Broadcasting operations are available via <a 
href="#each_colrow">.each_col()</a>, <a href="#each_colrow">.each_row()</a>, <a 
href="#each_slice">.each_slice()</a>  
 </li>
 <br>
 <li>
@@ -17192,7 +17192,37 @@
 <b>wall_clock</b>
 <ul>
 <li>
-Simple wall clock timer class for measuring the number of elapsed seconds
+A simple timer class for measuring the number of elapsed seconds
+</li>
+<br>
+<li>
+An instance of the class has two member functions:
+<br>
+<br>
+<table style="text-align: left;" border="0" cellpadding="2" cellspacing="2">
+  <tbody>
+    <tr>
+      <td style="vertical-align: top;">
+      <b><code>.tic()</code></b>
+      </td>
+      <td style="vertical-align: top;">&nbsp;<br>
+      </td>
+      <td style="vertical-align: top;">
+      start the timer
+      </td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top;">
+      <b><code>.toc()</code></b>
+      </td>
+      <td style="vertical-align: top;">&nbsp;<br>
+      </td>
+      <td style="vertical-align: top;">
+      return the number of seconds since the last call to <code>.tic()</code>
+      </td>
+    </tr>
+  </tbody>
+</table>
 </li>
 <br>
 <li>
@@ -17201,16 +17231,9 @@
 <pre>
 wall_clock timer;
 
-mat A(100, 100, fill::randu);
-mat B(100, 100, fill::randu);
-mat C;
-
 timer.tic();
 
-for(uword i=0; i&lt;100000; ++i)
-  {
-  C = A + B + A + B;
-  }
+// ... do something ...
 
 double n = timer.toc();
 
@@ -17218,6 +17241,12 @@
 </pre>
 </ul>
 </li>
+<li>
+See also:
+<ul>
+<li><a href="https://en.wikipedia.org/wiki/Elapsed_real_time";>elapsed real 
time</a> in Wikipedia</li>
+</ul>
+</li>
 </ul>
 <br>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/arma_version.hpp 
new/armadillo-10.8.2/include/armadillo_bits/arma_version.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/arma_version.hpp        
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/arma_version.hpp        
2016-06-16 18:24:22.000000000 +0200
@@ -23,7 +23,7 @@
 
 #define ARMA_VERSION_MAJOR 10
 #define ARMA_VERSION_MINOR 8
-#define ARMA_VERSION_PATCH 1
+#define ARMA_VERSION_PATCH 2
 #define ARMA_VERSION_NAME  "Realm Raider"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/op_cond_meat.hpp 
new/armadillo-10.8.2/include/armadillo_bits/op_cond_meat.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/op_cond_meat.hpp        
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/op_cond_meat.hpp        
2016-06-16 18:24:22.000000000 +0200
@@ -96,12 +96,16 @@
   
   if(try_sympd)
     {
+    arma_extra_debug_print("op_cond::rcond(): attempting sympd optimisation");
+    
     bool calc_ok = false;
     
     const T out_val = auxlib::rcond_sympd(A, calc_ok);
     
     if(calc_ok)  { return out_val; }
     
+    arma_extra_debug_print("op_cond::rcond(): sympd optimisation failed");
+    
     // auxlib::rcond_sympd() may have failed because A isn't really sympd
     // restore A, as auxlib::rcond_sympd() may have destroyed it
     A = X.get_ref();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/op_inv_meat.hpp 
new/armadillo-10.8.2/include/armadillo_bits/op_inv_meat.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/op_inv_meat.hpp 2016-06-16 
18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/op_inv_meat.hpp 2016-06-16 
18:24:22.000000000 +0200
@@ -72,12 +72,16 @@
   
   if((out.n_rows <= 4) && is_cx<eT>::no)
     {
+    arma_extra_debug_print("op_inv: attempting tinymatrix optimisation");
+    
     Mat<eT> tmp(out.n_rows, out.n_rows, arma_nozeros_indicator());
     
     const bool status = op_inv::apply_tiny_noalias(tmp, out);
     
     if(status)  { arrayops::copy(out.memptr(), tmp.memptr(), tmp.n_elem); 
return true; }
     
+    arma_extra_debug_print("op_inv: tinymatrix optimisation failed");
+    
     // fallthrough if optimisation failed
     }
   
@@ -320,12 +324,16 @@
   
   if((out.n_rows <= 4) && is_cx<eT>::no)
     {
+    arma_extra_debug_print("op_inv_sympd: attempting tinymatrix optimisation");
+    
     Mat<eT> tmp(out.n_rows, out.n_rows, arma_nozeros_indicator());
     
     const bool status = op_inv::apply_tiny_noalias(tmp, out);
     
     if(status)  { arrayops::copy(out.memptr(), tmp.memptr(), tmp.n_elem); 
return true; }
     
+    arma_extra_debug_print("op_inv_sympd: tinymatrix optimisation failed");
+    
     // fallthrough if optimisation failed
     }
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/op_pinv_meat.hpp 
new/armadillo-10.8.2/include/armadillo_bits/op_pinv_meat.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/op_pinv_meat.hpp        
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/op_pinv_meat.hpp        
2016-06-16 18:24:22.000000000 +0200
@@ -79,15 +79,18 @@
     bool do_sym   = false;
     bool do_sympd = false;
     
-    if(auxlib::crippled_lapack(A) == false)
+    const bool is_sym_size_ok = (n_rows > (is_cx<eT>::yes ? uword(20) : 
uword(40)));
+    const bool is_arg_default = ((tol == T(0)) && (method_id == uword(0)));
+    
+    if( (auxlib::crippled_lapack(A) == false) && (is_arg_default || 
is_sym_size_ok) )
       {
       bool is_approx_sym   = false;
       bool is_approx_sympd = false;
       
       sympd_helper::analyse_matrix(is_approx_sym, is_approx_sympd, A);
       
-      do_sym   = (is_cx<eT>::no) ? (is_approx_sym) : (is_approx_sym && 
is_approx_sympd);
-      do_sympd = is_approx_sympd && (tol == T(0)) && (method_id == uword(0));
+      do_sym   = is_sym_size_ok && ((is_cx<eT>::no) ? (is_approx_sym) : 
(is_approx_sym && is_approx_sympd));
+      do_sympd = is_arg_default && is_approx_sympd;
       }
   #else
     const bool do_sym   = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/op_rank_meat.hpp 
new/armadillo-10.8.2/include/armadillo_bits/op_rank_meat.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/op_rank_meat.hpp        
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/op_rank_meat.hpp        
2016-06-16 18:24:22.000000000 +0200
@@ -45,7 +45,7 @@
   #if defined(ARMA_OPTIMISE_SYMPD)
     bool do_sym = false;
     
-    if(auxlib::crippled_lapack(A) == false)
+    if((auxlib::crippled_lapack(A) == false) && (A.n_rows >= (is_cx<eT>::yes ? 
uword(64) : uword(128))))
       {
       bool is_approx_sym   = false;
       bool is_approx_sympd = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/spglue_max_meat.hpp 
new/armadillo-10.8.2/include/armadillo_bits/spglue_max_meat.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/spglue_max_meat.hpp     
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/spglue_max_meat.hpp     
2016-06-16 18:24:22.000000000 +0200
@@ -58,7 +58,7 @@
   {
   arma_extra_debug_sigprint();
   
-  arma_debug_assert_same_size(pa.get_n_rows(), pa.get_n_cols(), 
pb.get_n_rows(), pb.get_n_cols(), "element-wise max");
+  arma_debug_assert_same_size(pa.get_n_rows(), pa.get_n_cols(), 
pb.get_n_rows(), pb.get_n_cols(), "element-wise max()");
   
   const uword max_n_nonzero = pa.get_n_nonzero() + pb.get_n_nonzero();
   
@@ -184,7 +184,7 @@
   const uword n_rows = pa.get_n_rows();
   const uword n_cols = pa.get_n_cols();
   
-  arma_debug_assert_same_size( n_rows, n_cols, pb.get_n_rows(), 
pb.get_n_cols(), "element-wise maximum" );
+  arma_debug_assert_same_size( n_rows, n_cols, pb.get_n_rows(), 
pb.get_n_cols(), "element-wise max()" );
   
   out.set_size(n_rows, n_cols);
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/spglue_min_meat.hpp 
new/armadillo-10.8.2/include/armadillo_bits/spglue_min_meat.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/spglue_min_meat.hpp     
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/spglue_min_meat.hpp     
2016-06-16 18:24:22.000000000 +0200
@@ -58,7 +58,7 @@
   {
   arma_extra_debug_sigprint();
   
-  arma_debug_assert_same_size(pa.get_n_rows(), pa.get_n_cols(), 
pb.get_n_rows(), pb.get_n_cols(), "element-wise minimum");
+  arma_debug_assert_same_size(pa.get_n_rows(), pa.get_n_cols(), 
pb.get_n_rows(), pb.get_n_cols(), "element-wise min()");
   
   const uword max_n_nonzero = pa.get_n_nonzero() + pb.get_n_nonzero();
   
@@ -184,7 +184,7 @@
   const uword n_rows = pa.get_n_rows();
   const uword n_cols = pa.get_n_cols();
   
-  arma_debug_assert_same_size( n_rows, n_cols, pb.get_n_rows(), 
pb.get_n_cols(), "element-wise minimum" );
+  arma_debug_assert_same_size( n_rows, n_cols, pb.get_n_rows(), 
pb.get_n_cols(), "element-wise min()" );
   
   out.set_size(n_rows, n_cols);
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-10.8.1/include/armadillo_bits/sympd_helper.hpp 
new/armadillo-10.8.2/include/armadillo_bits/sympd_helper.hpp
--- old/armadillo-10.8.1/include/armadillo_bits/sympd_helper.hpp        
2016-06-16 18:24:21.000000000 +0200
+++ new/armadillo-10.8.2/include/armadillo_bits/sympd_helper.hpp        
2016-06-16 18:24:22.000000000 +0200
@@ -215,6 +215,8 @@
 bool
 guess_sympd(const Mat<eT>& A)
   {
+  arma_extra_debug_sigprint();
+  
   // analyse matrices with size >= 4x4
   
   if((A.n_rows != A.n_cols) || (A.n_rows < uword(4)))  { return false; }
@@ -229,6 +231,8 @@
 bool
 guess_sympd(const Mat<eT>& A, const uword min_n_rows)
   {
+  arma_extra_debug_sigprint();
+  
   if((A.n_rows != A.n_cols) || (A.n_rows < min_n_rows))  { return false; }
   
   return guess_sympd_worker(A);

Reply via email to