Hello community,

here is the log from the commit of package armadillo for openSUSE:Factory 
checked in at 2017-11-07 10:04:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/armadillo (Old)
 and      /work/SRC/openSUSE:Factory/.armadillo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "armadillo"

Tue Nov  7 10:04:12 2017 rev:115 rq:539300 version:8.200.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes      2017-10-19 
19:33:28.541117693 +0200
+++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2017-11-07 
10:04:37.487877367 +0100
@@ -1,0 +2,6 @@
+Sun Nov  5 14:29:27 UTC 2017 - badshah...@gmail.com
+
+- Update to version 8.200.2:
+  + Misc bug fixes.
+
+-------------------------------------------------------------------

Old:
----
  armadillo-8.200.1.tar.xz

New:
----
  armadillo-8.200.2.tar.xz

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

Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.lTa3ux/_old  2017-11-07 10:04:38.387844714 +0100
+++ /var/tmp/diff_new_pack.lTa3ux/_new  2017-11-07 10:04:38.391844569 +0100
@@ -18,7 +18,7 @@
 
 %define soname libarmadillo8
 Name:           armadillo
-Version:        8.200.1
+Version:        8.200.2
 Release:        0
 Summary:        C++ matrix library with interfaces to LAPACK and ATLAS
 License:        Apache-2.0

++++++ armadillo-8.200.1.tar.xz -> armadillo-8.200.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-8.200.1/README.txt 
new/armadillo-8.200.2/README.txt
--- old/armadillo-8.200.1/README.txt    2016-06-16 18:17:11.000000000 +0200
+++ new/armadillo-8.200.2/README.txt    2016-06-16 18:17:12.000000000 +0200
@@ -436,21 +436,21 @@
 15: Bug Reports and Frequently Asked Questions
 ==============================================
 
-Armadillo has gone through extensive testing and
-has been successfully used in production environments.
-However, as with almost all software, it's impossible
-to guarantee 100% correct functionality.
-
-If you find a bug in the library or the documentation,
-we are interested in hearing about it. Please make a
-_small_ and _self-contained_ program which exposes the bug,
-and then send the program source and the bug description
-to the developers. The contact details are at:
+Armadillo has gone through extensive testing and has been successfully
+used in production environments. However, as with almost all software,
+it's impossible to guarantee 100% correct functionality.
+
+If you find a bug in the library or the documentation, we are interested
+in hearing about it. Please make a _small_ and _self-contained_ program
+which exposes the bug, and then send the program source and the bug description
+to the developers. The small program must have a main() function and use only
+functions/classes from Armadillo and the standard C++ library (no other 
libraries).
+
+The contact details are at:
 
   http://arma.sourceforge.net/contact.html
 
-Further information about Armadillo as well as
-answers to frequently asked questions are at:
+Further information about Armadillo is on the frequently asked questions page:
 
   http://arma.sourceforge.net/faq.html
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-8.200.1/include/armadillo_bits/arma_version.hpp 
new/armadillo-8.200.2/include/armadillo_bits/arma_version.hpp
--- old/armadillo-8.200.1/include/armadillo_bits/arma_version.hpp       
2016-06-16 18:17:11.000000000 +0200
+++ new/armadillo-8.200.2/include/armadillo_bits/arma_version.hpp       
2016-06-16 18:17:12.000000000 +0200
@@ -21,7 +21,7 @@
 
 #define ARMA_VERSION_MAJOR 8
 #define ARMA_VERSION_MINOR 200
-#define ARMA_VERSION_PATCH 1
+#define ARMA_VERSION_PATCH 2
 #define ARMA_VERSION_NAME  "Feral Pursuits Deluxe"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-8.200.1/include/armadillo_bits/compiler_setup.hpp 
new/armadillo-8.200.2/include/armadillo_bits/compiler_setup.hpp
--- old/armadillo-8.200.1/include/armadillo_bits/compiler_setup.hpp     
2016-06-16 18:17:11.000000000 +0200
+++ new/armadillo-8.200.2/include/armadillo_bits/compiler_setup.hpp     
2016-06-16 18:17:12.000000000 +0200
@@ -471,12 +471,12 @@
 
 
 #if defined(ARMA_PRINT_OPENMP_WARNING) && 
!defined(ARMA_DONT_PRINT_OPENMP_WARNING)
-  #pragma message ("WARNING: use of OpenMP disabled; this compiler doesn't 
support OpenMP 3.0+")
+  #pragma message ("WARNING: use of OpenMP disabled; compiler support for 
OpenMP 3.0+ not detected")
 #endif
 
 
 #if defined(ARMA_USE_OPENMP) && !defined(ARMA_USE_CXX11)
-  #if (defined(ARMA_GCC_VERSION) && (ARMA_GCC_VERSION >= 40803)) || 
(defined(__clang__) && !defined(ARMA_FAKE_CLANG))
+  #if (defined(ARMA_GCC_VERSION) && (ARMA_GCC_VERSION >= 50400)) || 
(defined(__clang__) && !defined(ARMA_FAKE_CLANG))
     #undef  ARMA_PRINT_OPENMP_CXX11_WARNING
     #define ARMA_PRINT_OPENMP_CXX11_WARNING
   #endif
@@ -488,6 +488,18 @@
 #endif
 
 
+
+#if defined(ARMA_USE_OPENMP) && defined(ARMA_USE_CXX11)
+  #if (defined(ARMA_GCC_VERSION) && (ARMA_GCC_VERSION < 50400))
+    // due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57580
+    #undef ARMA_USE_OPENMP
+    #if !defined(ARMA_DONT_PRINT_OPENMP_WARNING)
+      #pragma message ("WARNING: use of OpenMP disabled due to compiler bug in 
gcc <= 5.3")
+    #endif
+  #endif
+#endif
+
+
 
 // cleanup
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-8.200.1/include/armadillo_bits/gmm_diag_meat.hpp 
new/armadillo-8.200.2/include/armadillo_bits/gmm_diag_meat.hpp
--- old/armadillo-8.200.1/include/armadillo_bits/gmm_diag_meat.hpp      
2016-06-16 18:17:11.000000000 +0200
+++ new/armadillo-8.200.2/include/armadillo_bits/gmm_diag_meat.hpp      
2016-06-16 18:17:12.000000000 +0200
@@ -158,7 +158,7 @@
   
   const eT s = accu(in_hefts);
   
-  arma_debug_check( ((s < (eT(1) - Datum<eT>::eps)) || (s > (eT(1) + 
Datum<eT>::eps))), "gmm_diag::set_params(): sum of given hefts is not 1" );
+  arma_debug_check( ((s < (eT(1) - eT(0.001))) || (s > (eT(1) + eT(0.001)))), 
"gmm_diag::set_params(): sum of given hefts is not 1" );
   
   access::rw(means) = in_means;
   access::rw(dcovs) = in_dcovs;
@@ -230,7 +230,7 @@
   
   const eT s = accu(in_hefts);
   
-  arma_debug_check( ((s < (eT(1) - Datum<eT>::eps)) || (s > (eT(1) + 
Datum<eT>::eps))), "gmm_diag::set_hefts(): sum of given hefts is not 1" );
+  arma_debug_check( ((s < (eT(1) - eT(0.001))) || (s > (eT(1) + eT(0.001)))), 
"gmm_diag::set_hefts(): sum of given hefts is not 1" );
   
   // make sure all hefts are positive and non-zero
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-8.200.1/include/armadillo_bits/gmm_full_meat.hpp 
new/armadillo-8.200.2/include/armadillo_bits/gmm_full_meat.hpp
--- old/armadillo-8.200.1/include/armadillo_bits/gmm_full_meat.hpp      
2016-06-16 18:17:11.000000000 +0200
+++ new/armadillo-8.200.2/include/armadillo_bits/gmm_full_meat.hpp      
2016-06-16 18:17:12.000000000 +0200
@@ -162,7 +162,7 @@
   
   const eT s = accu(in_hefts);
   
-  arma_debug_check( ((s < (eT(1) - Datum<eT>::eps)) || (s > (eT(1) + 
Datum<eT>::eps))), "gmm_full::set_params(): sum of given hefts is not 1" );
+  arma_debug_check( ((s < (eT(1) - eT(0.001))) || (s > (eT(1) + eT(0.001)))), 
"gmm_full::set_params(): sum of given hefts is not 1" );
   
   access::rw(means) = in_means;
   access::rw(fcovs) = in_fcovs;
@@ -238,7 +238,7 @@
   
   const eT s = accu(in_hefts);
   
-  arma_debug_check( ((s < (eT(1) - Datum<eT>::eps)) || (s > (eT(1) + 
Datum<eT>::eps))), "gmm_full::set_hefts(): sum of given hefts is not 1" );
+  arma_debug_check( ((s < (eT(1) - eT(0.001))) || (s > (eT(1) + eT(0.001)))), 
"gmm_full::set_hefts(): sum of given hefts is not 1" );
   
   // make sure all hefts are positive and non-zero
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-8.200.1/include/armadillo_bits/operator_times.hpp 
new/armadillo-8.200.2/include/armadillo_bits/operator_times.hpp
--- old/armadillo-8.200.1/include/armadillo_bits/operator_times.hpp     
2016-06-16 18:17:11.000000000 +0200
+++ new/armadillo-8.200.2/include/armadillo_bits/operator_times.hpp     
2016-06-16 18:17:12.000000000 +0200
@@ -472,12 +472,14 @@
   {
   arma_extra_debug_sigprint();
   
+  typedef typename T1::elem_type eT;
+  
   const SpProxy<T1> pa(x);
   const   Proxy<T2> pb(y);
   
   arma_debug_assert_mul_size(pa.get_n_rows(), pa.get_n_cols(), 
pb.get_n_rows(), pb.get_n_cols(), "matrix multiplication");
   
-  Mat<typename T1::elem_type> result(pa.get_n_rows(), pb.get_n_cols());
+  Mat<eT> result(pa.get_n_rows(), pb.get_n_cols());
   result.zeros();
   
   if( (pa.get_n_nonzero() > 0) && (pb.get_n_elem() > 0) )
@@ -489,9 +491,13 @@
       
     while(x_it != x_it_end)
       {
+      const eT    x_it_val = (*x_it);
+      const uword x_it_row = x_it.row();
+      const uword x_it_col = x_it.col();
+      
       for(uword col = 0; col < result_n_cols; ++col)
         {
-        result.at(x_it.row(), col) += (*x_it) * pb.at(x_it.col(), col);
+        result.at(x_it_row, col) += x_it_val * pb.at(x_it_col, col);
         }
       
       ++x_it;
@@ -520,29 +526,35 @@
   {
   arma_extra_debug_sigprint();
   
+  typedef typename T1::elem_type eT;
+  
   const   Proxy<T1> pa(x);
   const SpProxy<T2> pb(y);
   
   arma_debug_assert_mul_size(pa.get_n_rows(), pa.get_n_cols(), 
pb.get_n_rows(), pb.get_n_cols(), "matrix multiplication");
   
-  Mat<typename T1::elem_type> result(pa.get_n_rows(), pb.get_n_cols());
+  Mat<eT> result(pa.get_n_rows(), pb.get_n_cols());
   result.zeros();
   
   if( (pa.get_n_elem() > 0) && (pb.get_n_nonzero() > 0) )
     {
-    typename SpProxy<T2>::const_iterator_type y_col_it     = pb.begin();
-    typename SpProxy<T2>::const_iterator_type y_col_it_end = pb.end();
+    typename SpProxy<T2>::const_iterator_type y_it     = pb.begin();
+    typename SpProxy<T2>::const_iterator_type y_it_end = pb.end();
     
     const uword result_n_rows = result.n_rows;
     
-    while(y_col_it != y_col_it_end)
+    while(y_it != y_it_end)
       {
+      const eT    y_it_val = (*y_it);
+      const uword y_it_col = y_it.col();
+      const uword y_it_row = y_it.row();
+      
       for(uword row = 0; row < result_n_rows; ++row)
         {
-        result.at(row, y_col_it.col()) += pa.at(row, y_col_it.row()) * 
(*y_col_it);
+        result.at(row, y_it_col) += pa.at(row, y_it_row) * y_it_val;
         }
       
-      ++y_col_it;
+      ++y_it;
       }
     }
   


Reply via email to