Hello community,

here is the log from the commit of package armadillo for openSUSE:Factory 
checked in at 2015-03-25 10:00:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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      2015-02-27 
11:00:32.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2015-03-25 
10:00:54.000000000 +0100
@@ -1,0 +2,8 @@
+Sat Mar 21 00:29:27 UTC 2015 - badshah...@gmail.com
+
+- Update to version 4.650.4:
+  + List of changes not documented upstream.
+- Changes from version 4.650.2 and 4.650.3:
+  + List of changes not documented upstream.
+
+-------------------------------------------------------------------

Old:
----
  armadillo-4.650.1.tar.gz

New:
----
  armadillo-4.650.4.tar.gz

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

Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.h6YVpU/_old  2015-03-25 10:00:56.000000000 +0100
+++ /var/tmp/diff_new_pack.h6YVpU/_new  2015-03-25 10:00:56.000000000 +0100
@@ -19,7 +19,7 @@
 %define soname libarmadillo4
 
 Name:           armadillo
-Version:        4.650.1
+Version:        4.650.4
 Release:        0
 Summary:        Fast C++ matrix library with interfaces to LAPACK and ATLAS
 License:        MPL-2.0

++++++ armadillo-4.650.1.tar.gz -> armadillo-4.650.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/CMakeLists.txt 
new/armadillo-4.650.4/CMakeLists.txt
--- old/armadillo-4.650.1/CMakeLists.txt        2015-02-23 05:27:48.000000000 
+0100
+++ new/armadillo-4.650.4/CMakeLists.txt        2015-03-20 04:36:40.000000000 
+0100
@@ -14,7 +14,7 @@
 
 set(ARMA_MAJOR 4)
 set(ARMA_MINOR 650)
-set(ARMA_PATCH 1)
+set(ARMA_PATCH 4)
 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.650.1/README.txt 
new/armadillo-4.650.4/README.txt
--- old/armadillo-4.650.1/README.txt    2015-02-23 05:27:48.000000000 +0100
+++ new/armadillo-4.650.4/README.txt    2015-03-20 04:36:40.000000000 +0100
@@ -62,6 +62,10 @@
 with contributions from around the world.  More information
 about NICTA can be obtained from http://nicta.com.au
 
+Main developers:
+  Conrad Sanderson - http://conradsanderson.id.au
+  Ryan Curtin      - http://ratml.org
+
 
 
 2: Citation Details
@@ -187,7 +191,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.650.1/include 
-DARMA_DONT_USE_WRAPPER -lblas -llapack
+  g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-4.650.4/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,
Files old/armadillo-4.650.1/armadillo_nicta_2010.pdf and 
new/armadillo-4.650.4/armadillo_nicta_2010.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/docs.html 
new/armadillo-4.650.4/docs.html
--- old/armadillo-4.650.1/docs.html     2015-02-18 04:26:59.000000000 +0100
+++ new/armadillo-4.650.4/docs.html     2015-03-05 06:19:46.000000000 +0100
@@ -1677,9 +1677,9 @@
 <br>
 <li>
 For form&nbsp;4,
-<i>rowind</i> is a dense column vector of type <i>umat</i> or <i>uvec</i> 
containing the row indices of the values to be inserted,
+<i>rowind</i> is a dense column vector of type <i>uvec</i> containing the row 
indices of the values to be inserted,
 and
-<i>colptr</i> is a dense column vector of type <i>umat</i> or <i>uvec</i> 
containing indices of <i>values</i> corresponding to the start of new columns;
+<i>colptr</i> is a dense column vector of type <i>uvec</i> (with length 
<i>n_cols&nbsp;+&nbsp;1</i>) containing indices of <i>values</i> corresponding 
to the start of new columns;
 the vectors correspond to the arrays used by the <a 
href="http://en.wikipedia.org/wiki/Sparse_matrix";>compressed sparse column 
format</a>;
 this form is useful for copying data from other CSC sparse matrix containers
 </li>
@@ -3044,22 +3044,35 @@
 
X<b>(&nbsp;</b>first_row<b>,</b>&nbsp;first_col<b>,&nbsp;size(</b>n_rows<b>,&nbsp;</b>n_cols<b>)&nbsp;)</b><br>
 
X<b>(&nbsp;</b>first_row<b>,</b>&nbsp;first_col<b>,&nbsp;size(</b>Y<b>)&nbsp;)</b>&nbsp;&nbsp;&nbsp;&nbsp;<i>(Y&nbsp;is&nbsp;a&nbsp;mat)</i><br>
 <br>
-X<b>(</b>&nbsp;<b>span::all,</b>&nbsp;col_number&nbsp;<b>)</b><br>
 
X<b>(</b>&nbsp;<b>span(</b>first_row<b>,</b>&nbsp;last_row<b>),</b>&nbsp;col_number&nbsp;<b>)</b><br>
-<br>
-X<b>(</b>&nbsp;row_number<b>,</b>&nbsp;<b>span::all</b>&nbsp;<b>)</b><br>
 
X<b>(</b>&nbsp;row_number<b>,</b>&nbsp;<b>span(</b>first_col<b>,</b>&nbsp;last_col<b>)&nbsp;)</b><br>
 <br>
 X.<b>head_cols(&nbsp;</b>number_of_cols<b>&nbsp;)</b><br>
-X.<b>tail_cols(&nbsp;</b>number_of_cols<b>&nbsp;)</b><br>
-<br>
 X.<b>head_rows(&nbsp;</b>number_of_rows<b>&nbsp;)</b><br>
+<br>
+X.<b>tail_cols(&nbsp;</b>number_of_cols<b>&nbsp;)</b><br>
 X.<b>tail_rows(&nbsp;</b>number_of_rows<b>&nbsp;)</b><br>
 <br>
 X.<b>unsafe_col(&nbsp;</b>col_number<b>&nbsp;)</b><br>
 </ul>
 </li>
 
+<br>
+
+<li>
+contiguous views for vector V:
+<br>
+<br>
+<ul>
+V<b>(&nbsp;span(</b>first_index<b>,</b> last_index<b>)&nbsp;)</b><br>
+V.<b>subvec(&nbsp;</b>first_index<b>,</b> last_index<b>&nbsp;)</b><br>
+<br>
+V.<b>head(&nbsp;</b>number_of_elements<b>&nbsp;)</b><br>
+V.<b>tail(&nbsp;</b>number_of_elements<b>&nbsp;)</b>
+</ul>
+</li>
+
+
 </td>
 </tr>
 </tbody>
@@ -3069,7 +3082,7 @@
 
 <td>&nbsp;&nbsp;&nbsp;</td>
 <td class="line" style="vertical-align: top;">&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;</td>
+<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
 
 <td style="vertical-align: top;">
 
@@ -3078,21 +3091,6 @@
 <tr>
 <td>
 
-<li>
-contiguous views for vector V:
-<br>
-<br>
-<ul>
-V<b>(&nbsp;span(</b>first_index<b>,</b> last_index<b>)&nbsp;)</b><br>
-V.<b>subvec(&nbsp;</b>first_index<b>,</b> last_index<b>&nbsp;)</b><br>
-<br>
-V.<b>head(&nbsp;</b>number_of_elements<b>&nbsp;)</b><br>
-V.<b>tail(&nbsp;</b>number_of_elements<b>&nbsp;)</b>
-</ul>
-</li>
-<br>
-<br>
-
 <li>non-contiguous views for matrix or vector X:
 <ul>
 <br>
@@ -3132,12 +3130,12 @@
 
 <br>
 <li>
-Instances of <i>span::all</i>, to indicate an entire range, can be replaced by 
<i>span()</i>, where no number is specified
+Instances of <i>span(start,end)</i> can be replaced by <i>span::all</i> to 
indicate the entire range
 </li>
 <br>
 <li>
 For functions requiring one or more vector of indices,
-eg. <i>X.submat(vector_of_row_indices,vector_of_column_indices)</i>,
+eg. <i>X.submat(vector_of_row_indices,&nbsp;vector_of_column_indices)</i>,
 each vector of indices must be of type <i><a href="#Col">uvec</a></i>
 </li>
 <br>
@@ -3155,7 +3153,7 @@
 <li>
 The function <i>.unsafe_col()</i> is provided for speed reasons and should be 
used only if you know what you're doing.
 The function creates a seemingly independent <i>Col</i> vector object (eg. 
<i>vec</i>),
-but it actually uses memory from the existing matrix object.
+but uses memory from the existing matrix object.
 As such, the created <i>Col</i> vector is currently not alias safe
 and does not take into account that the parent matrix object could be deleted.
 If deleted memory is accessed through the created <i>Col</i> vector,
@@ -7309,7 +7307,7 @@
 <br>
 <li>See also:
 <ul>
-<li><a href="#set_imag">set_imag()&nbsp;/&nbsp;set_real()</a></li>
+<li><a href="#set_imag">.set_imag()&nbsp;/&nbsp;.set_real()</a></li>
 <li><a href="#abs">abs()</a></li>
 <li><a href="#conj">conj()</a></li>
 <li><a href="#conv_to">conv_to()</a></li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo 
new/armadillo-4.650.4/include/armadillo
--- old/armadillo-4.650.1/include/armadillo     2015-02-13 08:35:58.000000000 
+0100
+++ new/armadillo-4.650.4/include/armadillo     2015-03-06 04:41:30.000000000 
+0100
@@ -107,9 +107,10 @@
   #ifdef ARMA_RNG_ALT
     #include ARMA_INCFILE_WRAP(ARMA_RNG_ALT)
   #else
-    #include "armadillo_bits/arma_rng_cxx11.hpp"
     #include "armadillo_bits/arma_rng_cxx98.hpp"
   #endif
+  
+  #include "armadillo_bits/arma_rng_cxx11.hpp"
   #include "armadillo_bits/arma_rng.hpp"
   
   
@@ -456,10 +457,13 @@
   
   #include "armadillo_bits/hdf5_misc.hpp"
   #include "armadillo_bits/fft_engine.hpp"
-  #include "armadillo_bits/gmm_misc_bones.hpp"
-  #include "armadillo_bits/gmm_misc_meat.hpp"
-  #include "armadillo_bits/gmm_diag_bones.hpp"
-  #include "armadillo_bits/gmm_diag_meat.hpp"
+  
+  #if !defined(ARMA_BAD_COMPILER)
+    #include "armadillo_bits/gmm_misc_bones.hpp"
+    #include "armadillo_bits/gmm_misc_meat.hpp"
+    #include "armadillo_bits/gmm_diag_bones.hpp"
+    #include "armadillo_bits/gmm_diag_meat.hpp"
+  #endif
   
   //
   // classes implementing various forms of dense matrix multiplication
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/Col_bones.hpp 
new/armadillo-4.650.4/include/armadillo_bits/Col_bones.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/Col_bones.hpp  2015-02-13 
10:13:25.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/Col_bones.hpp  2015-02-26 
03:11:42.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2013 Conrad Sanderson
-// Copyright (C) 2008-2013 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2015 Conrad Sanderson
+// Copyright (C) 2008-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -100,6 +100,12 @@
   arma_inline       subview_col<eT> tail(const uword N);
   arma_inline const subview_col<eT> tail(const uword N) const;
   
+  arma_inline       subview_col<eT> head_rows(const uword N);
+  arma_inline const subview_col<eT> head_rows(const uword N) const;
+  
+  arma_inline       subview_col<eT> tail_rows(const uword N);
+  arma_inline const subview_col<eT> tail_rows(const uword N) const;
+  
   
   inline void shed_row (const uword row_num);
   inline void shed_rows(const uword in_row1, const uword in_row2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/Col_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/Col_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/Col_meat.hpp   2015-02-13 
10:13:25.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/Col_meat.hpp   2015-02-26 
03:11:42.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2013 Conrad Sanderson
-// Copyright (C) 2008-2013 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2015 Conrad Sanderson
+// Copyright (C) 2008-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -757,6 +757,54 @@
   }
 
 
+
+template<typename eT>
+arma_inline
+subview_col<eT>
+Col<eT>::head_rows(const uword N)
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).head(N);
+  }
+
+
+
+template<typename eT>
+arma_inline
+const subview_col<eT>
+Col<eT>::head_rows(const uword N) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).head(N);
+  }
+
+
+
+template<typename eT>
+arma_inline
+subview_col<eT>
+Col<eT>::tail_rows(const uword N)
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).tail(N);
+  }
+
+
+
+template<typename eT>
+arma_inline
+const subview_col<eT>
+Col<eT>::tail_rows(const uword N) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).tail(N);
+  }
+
+
 
 //! remove specified row
 template<typename eT>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/Proxy.hpp 
new/armadillo-4.650.4/include/armadillo_bits/Proxy.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/Proxy.hpp      2015-01-21 
10:07:49.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/Proxy.hpp      2015-03-17 
16:25:37.000000000 +0100
@@ -1486,7 +1486,7 @@
   arma_inline aligned_ea_type get_aligned_ea() const { return Q;          }
   
   template<typename eT2>
-  arma_inline bool is_alias(const Mat<eT2>& X) const { return false; }
+  arma_inline bool is_alias(const Mat<eT2>&) const { return false; }
   
   arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr()); 
}
   };
@@ -1531,7 +1531,7 @@
   arma_inline aligned_ea_type get_aligned_ea() const { return Q;          }
   
   template<typename eT2>
-  arma_inline bool is_alias(const Mat<eT2>& X) const { return false; }
+  arma_inline bool is_alias(const Mat<eT2>&) const { return false; }
   
   arma_inline bool is_aligned() const { return memory::is_aligned(Q.memptr()); 
}
   };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/Row_bones.hpp 
new/armadillo-4.650.4/include/armadillo_bits/Row_bones.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/Row_bones.hpp  2015-02-13 
10:13:25.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/Row_bones.hpp  2015-02-26 
03:11:42.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2013 Conrad Sanderson
-// Copyright (C) 2008-2013 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2015 Conrad Sanderson
+// Copyright (C) 2008-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -100,6 +100,12 @@
   arma_inline       subview_row<eT> tail(const uword N);
   arma_inline const subview_row<eT> tail(const uword N) const;
   
+  arma_inline       subview_row<eT> head_cols(const uword N);
+  arma_inline const subview_row<eT> head_cols(const uword N) const;
+  
+  arma_inline       subview_row<eT> tail_cols(const uword N);
+  arma_inline const subview_row<eT> tail_cols(const uword N) const;
+  
   
   inline void shed_col (const uword col_num);
   inline void shed_cols(const uword in_col1, const uword in_col2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/Row_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/Row_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/Row_meat.hpp   2015-02-13 
10:13:25.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/Row_meat.hpp   2015-02-26 
03:11:42.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2013 Conrad Sanderson
-// Copyright (C) 2008-2013 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2015 Conrad Sanderson
+// Copyright (C) 2008-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -723,6 +723,54 @@
   }
 
 
+
+template<typename eT>
+arma_inline
+subview_row<eT>
+Row<eT>::head_cols(const uword N)
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).head(N);
+  }
+
+
+
+template<typename eT>
+arma_inline
+const subview_row<eT>
+Row<eT>::head_cols(const uword N) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).head(N);
+  }
+
+
+
+template<typename eT>
+arma_inline
+subview_row<eT>
+Row<eT>::tail_cols(const uword N)
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).tail(N);
+  }
+
+
+
+template<typename eT>
+arma_inline
+const subview_row<eT>
+Row<eT>::tail_cols(const uword N) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return (*this).tail(N);
+  }
+
+
 
 //! remove specified columns
 template<typename eT>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/SpMat_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/SpMat_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/SpMat_meat.hpp 2015-02-23 
05:20:26.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/SpMat_meat.hpp 2015-03-17 
16:25:37.000000000 +0100
@@ -3394,11 +3394,11 @@
       break;
     
     default:
-      arma_warn(true, "SpMat::save(): unsupported file type");
+      arma_warn(print_status, "SpMat::save(): unsupported file type");
       save_okay = false;
     }
   
-  arma_warn( (save_okay == false), "SpMat::save(): couldn't write to ", name);
+  arma_warn( print_status && (save_okay == false), "SpMat::save(): couldn't 
write to ", name);
   
   return save_okay;
   }
@@ -3434,11 +3434,11 @@
       break;
     
     default:
-      arma_warn(true, "SpMat::save(): unsupported file type");
+      arma_warn(print_status, "SpMat::save(): unsupported file type");
       save_okay = false;
     }
   
-  arma_warn( (save_okay == false), "SpMat::save(): couldn't write to the given 
stream");
+  arma_warn( print_status && (save_okay == false), "SpMat::save(): couldn't 
write to the given stream");
   
   return save_okay;
   }
@@ -3479,7 +3479,7 @@
       break;
     
     default:
-      arma_warn(true, "SpMat::load(): unsupported file type");
+      arma_warn(print_status, "SpMat::load(): unsupported file type");
       load_okay = false;
     }
   
@@ -3487,11 +3487,11 @@
     {
     if(err_msg.length() > 0)
       {
-      arma_warn(true, "SpMat::load(): ", err_msg, name);
+      arma_warn(print_status, "SpMat::load(): ", err_msg, name);
       }
     else
       {
-      arma_warn(true, "SpMat::load(): couldn't read ", name);
+      arma_warn(print_status, "SpMat::load(): couldn't read ", name);
       }
     }
   
@@ -3539,7 +3539,7 @@
       break;
     
     default:
-      arma_warn(true, "SpMat::load(): unsupported file type");
+      arma_warn(print_status, "SpMat::load(): unsupported file type");
       load_okay = false;
     }
   
@@ -3548,11 +3548,11 @@
     {
     if(err_msg.length() > 0)
       {
-      arma_warn(true, "SpMat::load(): ", err_msg, "the given stream");
+      arma_warn(print_status, "SpMat::load(): ", err_msg, "the given stream");
       }
     else
       {
-      arma_warn(true, "SpMat::load(): couldn't load from the given stream");
+      arma_warn(print_status, "SpMat::load(): couldn't load from the given 
stream");
       }
     }
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/SpProxy.hpp 
new/armadillo-4.650.4/include/armadillo_bits/SpProxy.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/SpProxy.hpp    2013-02-21 
08:16:35.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/SpProxy.hpp    2015-03-17 
16:25:37.000000000 +0100
@@ -101,7 +101,7 @@
   arma_inline const uword* get_col_ptrs()    const { return Q.col_ptrs;    }
   
   arma_inline const_iterator_type     begin()                            const 
{ return Q.begin();            }
-  arma_inline const_iterator_type     begin_col(const uword col_num)     const 
{ return Q.begin();            }
+  arma_inline const_iterator_type     begin_col(const uword)             const 
{ return Q.begin();            }
   arma_inline const_row_iterator_type begin_row(const uword row_num = 0) const 
{ return Q.begin_row(row_num); }
   
   arma_inline const_iterator_type     end()                        const { 
return Q.end();            }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/arma_cmath.hpp 
new/armadillo-4.650.4/include/armadillo_bits/arma_cmath.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/arma_cmath.hpp 2014-10-21 
18:40:33.000000000 +0200
+++ new/armadillo-4.650.4/include/armadillo_bits/arma_cmath.hpp 2015-03-17 
16:25:37.000000000 +0100
@@ -364,6 +364,7 @@
     }
   #else
     {
+    arma_ignore(x);
     arma_stop("acos(): need C++11 compiler");
     
     return std::complex<T>(0);
@@ -388,6 +389,7 @@
     }
   #else
     {
+    arma_ignore(x);
     arma_stop("asin(): need C++11 compiler");
     
     return std::complex<T>(0);
@@ -412,6 +414,7 @@
     }
   #else
     {
+    arma_ignore(x);
     arma_stop("atan(): need C++11 compiler");
     
     return std::complex<T>(0);
@@ -533,6 +536,7 @@
     }
   #else
     {
+    arma_ignore(x);
     arma_stop("acosh(): need C++11 compiler");
     
     return std::complex<T>(0);
@@ -557,6 +561,7 @@
     }
   #else
     {
+    arma_ignore(x);
     arma_stop("asinh(): need C++11 compiler");
     
     return std::complex<T>(0);
@@ -581,6 +586,7 @@
     }
   #else
     {
+    arma_ignore(x);
     arma_stop("atanh(): need C++11 compiler");
     
     return std::complex<T>(0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/arma_version.hpp 
new/armadillo-4.650.4/include/armadillo_bits/arma_version.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/arma_version.hpp       
2015-02-23 05:27:48.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/arma_version.hpp       
2015-03-20 04:36:40.000000000 +0100
@@ -13,7 +13,7 @@
 
 #define ARMA_VERSION_MAJOR 4
 #define ARMA_VERSION_MINOR 650
-#define ARMA_VERSION_PATCH 1
+#define ARMA_VERSION_PATCH 4
 #define ARMA_VERSION_NAME  "Intravenous Caffeine Injector"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/compiler_setup.hpp 
new/armadillo-4.650.4/include/armadillo_bits/compiler_setup.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/compiler_setup.hpp     
2015-02-10 14:22:25.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/compiler_setup.hpp     
2015-03-20 04:34:26.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2014 Conrad Sanderson
-// Copyright (C) 2008-2014 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2015 Conrad Sanderson
+// Copyright (C) 2008-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -288,6 +288,11 @@
     #define ARMA_HAVE_GCC_ASSUME_ALIGNED
   #endif
   
+  #if defined(__apple_build_version__)
+    #undef ARMA_USE_EXTERN_CXX11_RNG
+    // because Apple engineers are too lazy to implement thread_local
+  #endif
+  
 #endif
   
 
@@ -319,6 +324,7 @@
   #if (_MSC_VER < 1700)
     #pragma message ("WARNING: this compiler is outdated and has incomplete 
support for the C++ standard;")
     #pragma message ("WARNING: if something breaks, you get to keep all the 
pieces")
+    #define ARMA_BAD_COMPILER
   #endif
   
   #if defined(ARMA_USE_CXX11)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/diskio_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/diskio_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/diskio_meat.hpp        
2015-02-17 13:54:01.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/diskio_meat.hpp        
2015-03-17 16:25:37.000000000 +0100
@@ -2472,6 +2472,9 @@
 bool
 diskio::load_coord_ascii(SpMat<eT>& x, std::istream& f, std::string& err_msg)
   {
+  arma_extra_debug_sigprint();
+  arma_ignore(err_msg);
+  
   bool load_okay = f.good();
   
   f.clear();
@@ -2694,6 +2697,9 @@
 bool
 diskio::load_coord_ascii(SpMat< std::complex<T> >& x, std::istream& f, 
std::string& err_msg)
   {
+  arma_extra_debug_sigprint();
+  arma_ignore(err_msg);
+  
   bool load_okay = f.good();
   
   f.clear();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_accu.hpp 
new/armadillo-4.650.4/include/armadillo_bits/fn_accu.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/fn_accu.hpp    2015-02-23 
08:53:27.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/fn_accu.hpp    2015-02-25 
04:02:17.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2014 Conrad Sanderson
-// Copyright (C) 2008-2014 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2015 Conrad Sanderson
+// Copyright (C) 2008-2015 NICTA (www.nicta.com.au)
 // Copyright (C) 2012 Ryan Curtin
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
@@ -202,6 +202,61 @@
 
 
 
+template<typename T1>
+inline
+arma_warn_unused
+uword
+accu(const mtOp<uword,T1,op_rel_eq>& X)
+  {
+  arma_extra_debug_sigprint();
+  
+  typedef typename T1::elem_type eT;
+  
+  const eT val = X.aux;
+  
+  const Proxy<T1> P(X.m);
+  
+  uword n_nonzero = 0;
+  
+  if(Proxy<T1>::prefer_at_accessor == false)
+    {
+    typedef typename Proxy<T1>::ea_type ea_type;
+    
+          ea_type A      = P.get_ea();
+    const uword   n_elem = P.get_n_elem();
+    
+    for(uword i=0; i<n_elem; ++i)
+      {
+      n_nonzero += (A[i] == val) ? uword(1) : uword(0);
+      }
+    }
+  else
+    {
+    const uword P_n_cols = P.get_n_cols();
+    const uword P_n_rows = P.get_n_rows();
+    
+    if(P_n_rows == 1)
+      {
+      for(uword col=0; col < P_n_cols; ++col)
+        {
+        n_nonzero += (P.at(0,col) == val) ? uword(1) : uword(0);
+        }
+      }
+    else
+      {
+      for(uword col=0; col < P_n_cols; ++col)
+      for(uword row=0; row < P_n_rows; ++row)
+        {
+        n_nonzero += (P.at(row,col) == val) ? uword(1) : uword(0);
+        }
+      }
+    }
+  
+  return n_nonzero;
+  }
+
+
+
 //! accumulate the elements of a subview (submatrix)
 template<typename eT>
 arma_hot
@@ -220,24 +275,13 @@
   
   if(X_n_rows == 1)
     {
-    const Mat<eT>& A = X.m;
+    typedef subview_row<eT> sv_type;
     
-    const uword start_row = X.aux_row1;
-    const uword start_col = X.aux_col1;
+    const sv_type& sv = reinterpret_cast<const sv_type&>(X);  // 
subview_row<eT> is a child class of subview<eT> and has no extra data
     
-    const uword end_col_p1 = start_col + X_n_cols;
+    const Proxy<sv_type> P(sv);
     
-    uword i,j;
-    for(i=start_col, j=start_col+1; j < end_col_p1; i+=2, j+=2)
-      {
-      val += A.at(start_row, i);
-      val += A.at(start_row, j);
-      }
-    
-    if(i < end_col_p1)
-      {
-      val += A.at(start_row, i);
-      }
+    val = accu_proxy_linear(P);
     }
   else
   if(X_n_cols == 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_all.hpp 
new/armadillo-4.650.4/include/armadillo_bits/fn_all.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/fn_all.hpp     2013-08-08 
17:07:14.000000000 +0200
+++ new/armadillo-4.650.4/include/armadillo_bits/fn_all.hpp     2015-03-20 
07:17:35.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2013 Conrad Sanderson
-// Copyright (C) 2013 NICTA (www.nicta.com.au)
+// Copyright (C) 2013-2015 Conrad Sanderson
+// Copyright (C) 2013-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -32,9 +32,8 @@
 
 
 template<typename T1>
-inline
-arma_warn_unused
-bool
+arma_inline
+const mtOp<uword, T1, op_all>
 all
   (
   const T1&   X,
@@ -45,7 +44,7 @@
   arma_extra_debug_sigprint();
   arma_ignore(junk);
   
-  return op_all::all_vec(X);
+  return mtOp<uword, T1, op_all>(X, dim, 0);
   }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-4.650.1/include/armadillo_bits/fn_any.hpp 
new/armadillo-4.650.4/include/armadillo_bits/fn_any.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/fn_any.hpp     2013-08-08 
13:26:50.000000000 +0200
+++ new/armadillo-4.650.4/include/armadillo_bits/fn_any.hpp     2015-03-20 
07:17:35.000000000 +0100
@@ -1,5 +1,5 @@
-// Copyright (C) 2013 Conrad Sanderson
-// Copyright (C) 2013 NICTA (www.nicta.com.au)
+// Copyright (C) 2013-2015 Conrad Sanderson
+// Copyright (C) 2013-2015 NICTA (www.nicta.com.au)
 // 
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -32,9 +32,8 @@
 
 
 template<typename T1>
-inline
-arma_warn_unused
-bool
+arma_inline
+const mtOp<uword, T1, op_any>
 any
   (
   const T1&   X,
@@ -45,7 +44,7 @@
   arma_extra_debug_sigprint();
   arma_ignore(junk);
   
-  return op_any::any_vec(X);
+  return mtOp<uword, T1, op_any>(X, dim, 0);
   }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/fn_n_unique.hpp 
new/armadillo-4.650.4/include/armadillo_bits/fn_n_unique.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/fn_n_unique.hpp        
2014-02-23 06:11:59.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/fn_n_unique.hpp        
2015-03-17 16:25:37.000000000 +0100
@@ -114,7 +114,7 @@
 
 struct op_n_unique_count
   {
-  template<typename eT> inline static eT eval(const eT& l, const eT& r) { 
return 1; }
+  template<typename eT> inline static eT eval(const eT&, const eT&) { return 
eT(1); }
   };
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/fn_norm_sparse.hpp 
new/armadillo-4.650.4/include/armadillo_bits/fn_norm_sparse.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/fn_norm_sparse.hpp     
2014-02-25 18:21:37.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/fn_norm_sparse.hpp     
2015-03-17 16:25:37.000000000 +0100
@@ -66,6 +66,7 @@
   //typedef typename T1::elem_type eT;
   typedef typename T1::pod_type   T;
   
+  arma_ignore(P);
   arma_stop("norm(): unimplemented norm type for complex sparse matrices");
   
   return T(0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/fn_randg.hpp 
new/armadillo-4.650.4/include/armadillo_bits/fn_randg.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/fn_randg.hpp   2015-02-16 
04:44:29.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/fn_randg.hpp   2015-03-17 
16:25:37.000000000 +0100
@@ -75,6 +75,10 @@
     }
   #else
     {
+    arma_ignore(n_rows);
+    arma_ignore(n_cols);
+    arma_ignore(param);
+    
     arma_stop("randg(): C++11 compiler required");
     
     return obj_type();
@@ -181,6 +185,11 @@
     }
   #else
     {
+    arma_ignore(n_rows);
+    arma_ignore(n_cols);
+    arma_ignore(n_slices);
+    arma_ignore(param);
+    
     arma_stop("randg(): C++11 compiler required");
     
     return cube_type();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/gmm_diag_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/gmm_diag_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/gmm_diag_meat.hpp      
2014-12-18 12:32:28.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/gmm_diag_meat.hpp      
2015-03-15 16:14:54.000000000 +0100
@@ -269,11 +269,14 @@
   
   Cube<eT> Q(means.n_rows + 1, means.n_cols, 2);
   
-  Q.slice(0).row(0) = hefts;
-  Q.slice(1).row(0).zeros();  // reserved for future use
-  
-  Q.slice(0).submat(1, 0, size(means)) = means;
-  Q.slice(1).submat(1, 0, size(dcovs)) = dcovs;
+  if(Q.n_elem > 0)
+    {
+    Q.slice(0).row(0) = hefts;
+    Q.slice(1).row(0).zeros();  // reserved for future use
+    
+    Q.slice(0).submat(1, 0, size(means)) = means;
+    Q.slice(1).submat(1, 0, size(dcovs)) = dcovs;
+    }
   
   const bool status = Q.save(name, arma_binary);
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/sp_auxlib_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/sp_auxlib_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/sp_auxlib_meat.hpp     
2015-01-28 03:00:10.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/sp_auxlib_meat.hpp     
2015-03-17 16:25:37.000000000 +0100
@@ -139,6 +139,9 @@
     arma_ignore(eigvec);
     arma_ignore(X);
     arma_ignore(n_eigvals);
+    arma_ignore(form_str);
+    arma_ignore(default_tol);
+    
     arma_stop("eigs_sym(): use of ARPACK needs to be enabled");
     return false;
     }
@@ -289,6 +292,9 @@
     arma_ignore(eigvec);
     arma_ignore(X);
     arma_ignore(n_eigvals);
+    arma_ignore(form_str);
+    arma_ignore(default_tol);
+    
     arma_stop("eigs_gen(): use of ARPACK needs to be enabled");
     return false;
     }
@@ -403,6 +409,9 @@
     arma_ignore(eigvec);
     arma_ignore(X);
     arma_ignore(n_eigvals);
+    arma_ignore(form_str);
+    arma_ignore(default_tol);
+    
     arma_stop("eigs_gen(): use of ARPACK needs to be enabled");
     return false;
     }
@@ -540,5 +549,23 @@
       return; // Parent frame can look at the value of info.
       }
     }
+  #else
+    arma_ignore(n_eigvals);
+    arma_ignore(which);
+    arma_ignore(p);
+    arma_ignore(sym);
+    arma_ignore(n);
+    arma_ignore(tol);
+    arma_ignore(resid);
+    arma_ignore(ncv);
+    arma_ignore(v);
+    arma_ignore(ldv);
+    arma_ignore(iparam);
+    arma_ignore(ipntr);
+    arma_ignore(workd);
+    arma_ignore(workl);
+    arma_ignore(lworkl);
+    arma_ignore(rwork);
+    arma_ignore(info);
   #endif
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-4.650.1/include/armadillo_bits/subview_meat.hpp 
new/armadillo-4.650.4/include/armadillo_bits/subview_meat.hpp
--- old/armadillo-4.650.1/include/armadillo_bits/subview_meat.hpp       
2015-02-02 16:26:07.000000000 +0100
+++ new/armadillo-4.650.4/include/armadillo_bits/subview_meat.hpp       
2015-02-26 04:29:51.000000000 +0100
@@ -2999,7 +2999,7 @@
   
   arma_debug_check( (N > subview<eT>::n_rows), "subview_col::tail(): size out 
of bounds");
   
-  const uword start_row = subview<eT>::n_rows - N;
+  const uword start_row = subview<eT>::aux_row1 + subview<eT>::n_rows - N;
   
   return subview_col<eT>(this->m, this->aux_col1, start_row, N);
   }
@@ -3015,7 +3015,7 @@
   
   arma_debug_check( (N > subview<eT>::n_rows), "subview_col::tail(): size out 
of bounds");
   
-  const uword start_row = subview<eT>::n_rows - N;
+  const uword start_row = subview<eT>::aux_row1 + subview<eT>::n_rows - N;
   
   return subview_col<eT>(this->m, this->aux_col1, start_row, N);
   }
@@ -3367,7 +3367,7 @@
   
   arma_debug_check( (N > subview<eT>::n_cols), "subview_row::tail(): size out 
of bounds");
   
-  const uword start_col = subview<eT>::n_cols - N;
+  const uword start_col = subview<eT>::aux_col1 + subview<eT>::n_cols - N;
   
   return subview_row<eT>(this->m, this->aux_row1, start_col, N);
   }
@@ -3383,7 +3383,7 @@
   
   arma_debug_check( (N > subview<eT>::n_cols), "subview_row::tail(): size out 
of bounds");
   
-  const uword start_col = subview<eT>::n_cols - N;
+  const uword start_col = subview<eT>::aux_col1 + subview<eT>::n_cols - N;
   
   return subview_row<eT>(this->m, this->aux_row1, start_col, N);
   }

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

Reply via email to