Hello community,

here is the log from the commit of package armadillo for openSUSE:Factory 
checked in at 2014-12-03 22:48:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/armadillo (Old)
 and      /work/SRC/openSUSE:Factory/.armadillo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "armadillo"

Changes:
--------
--- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes      2014-11-24 
11:10:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2014-12-03 
22:49:04.000000000 +0100
@@ -1,0 +2,8 @@
+Tue Dec  2 00:55:41 UTC 2014 - badshah...@gmail.com
+
+- Update to version 4.550.2:
+  + List of changes not documented upstream.
+- Changes from version 4.550.1:
+  + List of changes not documented upstream.
+
+-------------------------------------------------------------------

Old:
----
  armadillo-4.550.0.tar.gz

New:
----
  armadillo-4.550.2.tar.gz

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

Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.LA6ydZ/_old  2014-12-03 22:49:05.000000000 +0100
+++ /var/tmp/diff_new_pack.LA6ydZ/_new  2014-12-03 22:49:05.000000000 +0100
@@ -19,7 +19,7 @@
 %define soname libarmadillo4
 
 Name:           armadillo
-Version:        4.550.0
+Version:        4.550.2
 Release:        0
 Summary:        Fast C++ matrix library with interfaces to LAPACK and ATLAS
 License:        MPL-2.0

++++++ armadillo-4.550.0.tar.gz -> armadillo-4.550.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.550.0/CMakeLists.txt 
new/armadillo-4.550.2/CMakeLists.txt
--- old/armadillo-4.550.0/CMakeLists.txt        2014-11-21 05:52:24.000000000 
+0100
+++ new/armadillo-4.550.2/CMakeLists.txt        2014-11-30 04:49:49.000000000 
+0100
@@ -14,7 +14,7 @@
 
 set(ARMA_MAJOR 4)
 set(ARMA_MINOR 550)
-set(ARMA_PATCH 0)
+set(ARMA_PATCH 2)
 set(ARMADILLO_VERSION ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH})
 
 message(STATUS "Configuring Armadillo ${ARMADILLO_VERSION}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.550.0/README.txt 
new/armadillo-4.550.2/README.txt
--- old/armadillo-4.550.0/README.txt    2014-11-17 09:50:18.000000000 +0100
+++ new/armadillo-4.550.2/README.txt    2014-11-30 04:49:49.000000000 +0100
@@ -187,7 +187,7 @@
 If you want to use Armadillo without installation,
 or you're getting linking errors, compile along these lines:
   
-  g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-4.550.0/include 
-DARMA_DONT_USE_WRAPPER -lblas -llapack 
+  g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-4.550.2/include 
-DARMA_DONT_USE_WRAPPER -lblas -llapack 
   
 The above command line assumes that you have unpacked the armadillo archive 
into /home/blah/
 You will need to adjust this for later versions of Armadillo,
@@ -453,6 +453,7 @@
 - Szabolcs Horvat
 - Friedrich Hust
 - Ping-Keng Jao
+- Jacques-Henri Jourdan
 - Yaron Keren
 - Kshitij Kulshreshtha
 - Oka Kurniawan
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.550.0/docs.html 
new/armadillo-4.550.2/docs.html
--- old/armadillo-4.550.0/docs.html     2014-11-21 05:52:24.000000000 +0100
+++ new/armadillo-4.550.2/docs.html     2014-11-24 06:40:31.000000000 +0100
@@ -10319,7 +10319,8 @@
       <td style="vertical-align: top;">&nbsp;<br></td>
       <td style="vertical-align: top;">&nbsp;<br></td>
       <td style="vertical-align: top;">
-      learn the model parameters via the k-means and/or EM algorithms
+      learn the model parameters via the k-means and/or EM algorithms,
+      <br>and return a <code>bool</code> variable, with <i>true</i> indicating 
success, and <i>false</i> indicating failure
       </td>
     </tr>
   </tbody>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.550.0/include/armadillo_bits/arma_version.hpp 
new/armadillo-4.550.2/include/armadillo_bits/arma_version.hpp
--- old/armadillo-4.550.0/include/armadillo_bits/arma_version.hpp       
2014-11-21 05:52:24.000000000 +0100
+++ new/armadillo-4.550.2/include/armadillo_bits/arma_version.hpp       
2014-11-30 04:49:49.000000000 +0100
@@ -13,7 +13,7 @@
 
 #define ARMA_VERSION_MAJOR 4
 #define ARMA_VERSION_MINOR 550
-#define ARMA_VERSION_PATCH 0
+#define ARMA_VERSION_PATCH 2
 #define ARMA_VERSION_NAME  "Singapore Sling Deluxe"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.550.0/include/armadillo_bits/gmm_diag_meat.hpp 
new/armadillo-4.550.2/include/armadillo_bits/gmm_diag_meat.hpp
--- old/armadillo-4.550.0/include/armadillo_bits/gmm_diag_meat.hpp      
2014-11-21 11:57:06.000000000 +0100
+++ new/armadillo-4.550.2/include/armadillo_bits/gmm_diag_meat.hpp      
2014-11-24 07:17:31.000000000 +0100
@@ -655,8 +655,8 @@
   const unwrap<T1>   tmp_X(data.get_ref());
   const Mat<eT>& X = tmp_X.M;
   
-  if(X.is_empty()          )  { arma_warn(true, "gmm_diag::learn(): given 
matrix is empty"             ); reset(); return false; }
-  if(X.is_finite() == false)  { arma_warn(true, "gmm_diag::learn(): given 
matrix has non-finite values"); reset(); return false; }
+  if(X.is_empty()          )  { arma_warn(true, "gmm_diag::learn(): given 
matrix is empty"             ); return false; }
+  if(X.is_finite() == false)  { arma_warn(true, "gmm_diag::learn(): given 
matrix has non-finite values"); return false; }
   
   if(N_gaus == 0)  { reset(); return true; }
   
@@ -671,25 +671,28 @@
       {
       const eT val = mah_aux_mem[i];
       
-      mah_aux_mem[i] = (val != eT(0)) ? eT(1) / val : eT(1);
+      mah_aux_mem[i] = ((val != eT(0)) && arma_isfinite(val)) ? eT(1) / val : 
eT(1);
       }
     }
   
-  // mah_aux.print("mah_aux:");
+  
+  // copy current model, in case of failure by k-means and/or EM
+  
+  const gmm_diag<eT> orig = (*this);
   
   
   // initial means
   
   if(seed_mode == keep_existing)
     {
-    if(means.is_empty()        )  { arma_warn(true, "gmm_diag::learn(): no 
existing means"      ); reset(); return false; }
-    if(X.n_rows != means.n_rows)  { arma_warn(true, "gmm_diag::learn(): 
dimensionality mismatch"); reset(); return false; }
+    if(means.is_empty()        )  { arma_warn(true, "gmm_diag::learn(): no 
existing means"      ); return false; }
+    if(X.n_rows != means.n_rows)  { arma_warn(true, "gmm_diag::learn(): 
dimensionality mismatch"); return false; }
     
     // TODO: also check for number of vectors?
     }
   else
     {
-    if(X.n_cols < N_gaus)  { arma_warn(true, "gmm_diag::learn(): number of 
vectors is less than number of gaussians"); reset(); return false; }
+    if(X.n_cols < N_gaus)  { arma_warn(true, "gmm_diag::learn(): number of 
vectors is less than number of gaussians"); return false; }
     
     reset(X.n_rows, N_gaus);
     
@@ -713,7 +716,7 @@
     
     stream_state.restore(get_stream_err2());
     
-    if(status == false)  { arma_warn(true, "gmm_diag::learn(): k-means 
algorithm failed"); reset(); return false; }
+    if(status == false)  { arma_warn(true, "gmm_diag::learn(): k-means 
algorithm failed"); init(orig); return false; }
     }
   
   
@@ -740,7 +743,7 @@
     
     stream_state.restore(get_stream_err2());
     
-    if(status == false)  { arma_warn(true, "gmm_diag::learn(): EM algorithm 
failed"); reset(); return false; }
+    if(status == false)  { arma_warn(true, "gmm_diag::learn(): EM algorithm 
failed"); init(orig); return false; }
     }
   
   mah_aux.reset();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.550.0/include/armadillo_bits/op_all_meat.hpp 
new/armadillo-4.550.2/include/armadillo_bits/op_all_meat.hpp
--- old/armadillo-4.550.0/include/armadillo_bits/op_all_meat.hpp        
2014-03-18 15:28:08.000000000 +0100
+++ new/armadillo-4.550.2/include/armadillo_bits/op_all_meat.hpp        
2014-11-30 05:56:51.000000000 +0100
@@ -33,7 +33,7 @@
     
     for(uword i=0; i<n_elem; ++i)
       {
-      if(Pea[i] != eT(0))  { ++count; }
+      count += (Pea[i] != eT(0)) ? uword(1) : uword(0);
       }
     }
   else
@@ -86,16 +86,16 @@
       {
       const eT tmp = Pea[i];
       
-           if(is_same_type<op_type, op_rel_lt_pre   >::yes)  { if(val <  tmp) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_lt_post  >::yes)  { if(tmp <  val) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_gt_pre   >::yes)  { if(val >  tmp) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_gt_post  >::yes)  { if(tmp >  val) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_lteq_pre >::yes)  { if(val <= tmp) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_lteq_post>::yes)  { if(tmp <= val) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_gteq_pre >::yes)  { if(val >= tmp) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_gteq_post>::yes)  { if(tmp >= val) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_eq       >::yes)  { if(tmp == val) 
{ ++count; } }
-      else if(is_same_type<op_type, op_rel_noteq    >::yes)  { if(tmp != val) 
{ ++count; } }
+           if(is_same_type<op_type, op_rel_lt_pre   >::yes)  { count += (val < 
 tmp) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_lt_post  >::yes)  { count += (tmp < 
 val) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_gt_pre   >::yes)  { count += (val > 
 tmp) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_gt_post  >::yes)  { count += (tmp > 
 val) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_lteq_pre >::yes)  { count += (val 
<= tmp) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_lteq_post>::yes)  { count += (tmp 
<= val) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_gteq_pre >::yes)  { count += (val 
>= tmp) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_gteq_post>::yes)  { count += (tmp 
>= val) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_eq       >::yes)  { count += (tmp 
== val) ? uword(1) : uword(0); }
+      else if(is_same_type<op_type, op_rel_noteq    >::yes)  { count += (tmp 
!= val) ? uword(1) : uword(0); }
       }
     }
   else
@@ -169,14 +169,14 @@
       const eT1 tmp1 = PA[i];
       const eT2 tmp2 = PB[i];
       
-           if(is_same_type<glue_type, glue_rel_lt    >::yes)  { if(tmp1 <  
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_gt    >::yes)  { if(tmp1 >  
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_lteq  >::yes)  { if(tmp1 <= 
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_gteq  >::yes)  { if(tmp1 >= 
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_eq    >::yes)  { if(tmp1 == 
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_noteq >::yes)  { if(tmp1 != 
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_and   >::yes)  { if(tmp1 && 
tmp2) { ++count; } }
-      else if(is_same_type<glue_type, glue_rel_or    >::yes)  { if(tmp1 || 
tmp2) { ++count; } }
+           if(is_same_type<glue_type, glue_rel_lt    >::yes)  { count += (tmp1 
<  tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_gt    >::yes)  { count += (tmp1 
>  tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_lteq  >::yes)  { count += (tmp1 
<= tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_gteq  >::yes)  { count += (tmp1 
>= tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_eq    >::yes)  { count += (tmp1 
== tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_noteq >::yes)  { count += (tmp1 
!= tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_and   >::yes)  { count += (tmp1 
&& tmp2) ? uword(1) : uword(0); }
+      else if(is_same_type<glue_type, glue_rel_or    >::yes)  { count += (tmp1 
|| tmp2) ? uword(1) : uword(0); }
       }
     }
   else
@@ -250,7 +250,7 @@
         
         for(uword row=0; row < n_rows; ++row)
           {
-          if(colmem[row] != eT(0))  { ++count; }
+          count += (colmem[row] != eT(0)) ? uword(1) : uword(0);
           }
         
         out_mem[col] = (n_rows == count) ? uword(1) : uword(0); 
@@ -289,7 +289,7 @@
         
         for(uword row=0; row < n_rows; ++row)
           {
-          if(colmem[row] != eT(0))  { ++out_mem[row]; }
+          out_mem[row] += (colmem[row] != eT(0)) ? uword(1) : uword(0);
           }
         }
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.550.0/include/armadillo_bits/op_expmat_meat.hpp 
new/armadillo-4.550.2/include/armadillo_bits/op_expmat_meat.hpp
--- old/armadillo-4.550.0/include/armadillo_bits/op_expmat_meat.hpp     
2014-11-19 06:36:59.000000000 +0100
+++ new/armadillo-4.550.2/include/armadillo_bits/op_expmat_meat.hpp     
2014-12-02 07:51:03.000000000 +0100
@@ -17,6 +17,7 @@
 //! SIAM Review, Vol. 45, No. 1, 2003, pp. 3-49.
 //! http://dx.doi.org/10.1137/S00361445024180
 
+
 template<typename T1>
 inline
 void
@@ -46,9 +47,13 @@
     
     arma_debug_check( (A.is_square() == false), "expmat(): given matrix is not 
square sized" );
     
-    const uword s = (std::max)(uword(0), uword(eop_aux::log2(norm(A, "inf"))) 
+ uword(1) + uword(1));
+    const T norm_val = arma::norm(A, "inf");
+    
+    const T log2_val = eop_aux::log2(norm_val);
+    
+    const uword s = (std::max)(uword(0), uword(log2_val) + uword(1) + 
uword(1));
     
-    const Mat<eT> AA = A / std::pow(double(2), s);
+    const Mat<eT> AA = A / eT(eop_aux::pow(double(2), double(s)));
     
     T c = T(0.5);
     

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to