Hello community,

here is the log from the commit of package armadillo for openSUSE:Factory 
checked in at 2012-07-01 14:59:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-06-26 
15:13:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2012-07-02 
10:13:48.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Jun 29 06:41:42 UTC 2012 - [email protected]
+
+- Update to version 3.2.3:
+  + Minor correction for declaration of fixed size vectors and
+    matrices.
+
+-------------------------------------------------------------------

Old:
----
  armadillo-3.2.2.tar.gz

New:
----
  armadillo-3.2.3.tar.gz

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

Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.EB1vpU/_old  2012-07-02 10:13:51.000000000 +0200
+++ /var/tmp/diff_new_pack.EB1vpU/_new  2012-07-02 10:13:51.000000000 +0200
@@ -17,13 +17,13 @@
 
 
 Name:           armadillo
-Version:        3.2.2
+Version:        3.2.3
 Release:        0
 Summary:        Fast C++ matrix library with interfaces to LAPACK and ATLAS
 License:        LGPL-3.0+
 Group:          Development/Libraries/C and C++
 Url:            http://arma.sourceforge.net/
-Source:         
http://sourceforge.net/projects/arma/files/%{name}-%{version}.tar.gz
+Source:         http://download.sourceforge.net/arma/%{name}-%{version}.tar.gz
 Source2:        baselibs.conf
 BuildRequires:  blas-devel
 BuildRequires:  boost-devel

++++++ armadillo-3.2.2.tar.gz -> armadillo-3.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-3.2.2/CMakeLists.txt 
new/armadillo-3.2.3/CMakeLists.txt
--- old/armadillo-3.2.2/CMakeLists.txt  2012-06-01 08:20:52.000000000 +0200
+++ new/armadillo-3.2.3/CMakeLists.txt  2012-06-29 05:06:03.000000000 +0200
@@ -16,7 +16,7 @@
 
 set(ARMA_MAJOR 3)
 set(ARMA_MINOR 2)
-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.2.2/build_aux/cmake/Modules/ARMA_FindMKL.cmake 
new/armadillo-3.2.3/build_aux/cmake/Modules/ARMA_FindMKL.cmake
--- old/armadillo-3.2.2/build_aux/cmake/Modules/ARMA_FindMKL.cmake      
2011-02-10 07:59:06.000000000 +0100
+++ new/armadillo-3.2.3/build_aux/cmake/Modules/ARMA_FindMKL.cmake      
2012-06-04 16:10:34.000000000 +0200
@@ -18,7 +18,7 @@
 FOREACH (MKL_NAME ${MKL_NAMES})
   FIND_LIBRARY(${MKL_NAME}_LIBRARY
     NAMES ${MKL_NAME}
-    PATHS /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib 
/opt/intel/mkl/lib/lib64 /opt/intel/mkl/lib/ia32 /opt/intel/mkl/lib 
/opt/intel/*/mkl/lib/intel64 /opt/intel/*/mkl/lib/ia32/ /opt/mkl/*/lib/em64t 
/opt/mkl/*/lib/32 /opt/intel/mkl/*/lib/em64t /opt/intel/mkl/*/lib/32
+    PATHS /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib 
/opt/intel/mkl/lib/lib64 /opt/intel/mkl/lib/intel64 /opt/intel/mkl/lib/ia32 
/opt/intel/mkl/lib /opt/intel/*/mkl/lib/intel64 /opt/intel/*/mkl/lib/ia32/ 
/opt/mkl/*/lib/em64t /opt/mkl/*/lib/32 /opt/intel/mkl/*/lib/em64t 
/opt/intel/mkl/*/lib/32
     )
 
   SET(TMP_LIBRARY ${${MKL_NAME}_LIBRARY})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-3.2.2/include/armadillo_bits/Col_bones.hpp 
new/armadillo-3.2.3/include/armadillo_bits/Col_bones.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/Col_bones.hpp    2012-05-08 
06:03:25.000000000 +0200
+++ new/armadillo-3.2.3/include/armadillo_bits/Col_bones.hpp    2012-06-29 
05:04:33.000000000 +0200
@@ -109,77 +109,7 @@
   inline const_row_iterator end_row  (const uword row_num) const;
   
   
-  template<uword fixed_n_elem>
-  class fixed : public Col<eT>
-    {
-    private:
-    
-    static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
-    
-    arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
-    
-    arma_inline void change_to_row();
-    
-    
-    public:
-    
-    typedef fixed<fixed_n_elem>               Col_fixed_type;
-    
-    typedef eT                                elem_type;
-    typedef typename get_pod_type<eT>::result pod_type;
-    
-    static const bool is_col = true;
-    static const bool is_row = false;
-    
-    static const uword n_rows = fixed_n_elem;
-    static const uword n_cols = 1;
-    static const uword n_elem = fixed_n_elem;
-    
-    arma_inline fixed();
-    arma_inline fixed(const fixed<fixed_n_elem>& X);
-         inline fixed(const subview_cube<eT>& X);
-    
-    template<typename T1>              inline fixed(const Base<eT,T1>& A);
-    template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& 
A, const Base<pod_type,T2>& B);
-    
-    inline fixed(const eT* aux_mem);
-    
-    inline fixed(const char*        text);
-    inline fixed(const std::string& text);
-    
-    template<typename T1> inline const Col& operator=(const Base<eT,T1>& A);
-    
-    inline const Col& operator=(const eT val);
-    inline const Col& operator=(const char*        text);
-    inline const Col& operator=(const std::string& text);
-    inline const Col& operator=(const subview_cube<eT>& X);
-    
-    using Col<eT>::operator();
-    
-    #if defined(ARMA_USE_CXX11)
-    inline                fixed(const std::initializer_list<eT>& list);
-    inline const Col& operator=(const std::initializer_list<eT>& list);
-    #endif
-    
-    arma_inline arma_warn_unused eT& operator[] (const uword i);
-    arma_inline arma_warn_unused eT  operator[] (const uword i) const;
-    arma_inline arma_warn_unused eT& at         (const uword i);
-    arma_inline arma_warn_unused eT  at         (const uword i) const;
-    arma_inline arma_warn_unused eT& operator() (const uword i);
-    arma_inline arma_warn_unused eT  operator() (const uword i) const;
-    
-    arma_inline arma_warn_unused eT& at         (const uword in_row, const 
uword in_col);
-    arma_inline arma_warn_unused eT  at         (const uword in_row, const 
uword in_col) const;
-    arma_inline arma_warn_unused eT& operator() (const uword in_row, const 
uword in_col);
-    arma_inline arma_warn_unused eT  operator() (const uword in_row, const 
uword in_col) const;
-    
-    arma_inline arma_warn_unused       eT* memptr();
-    arma_inline arma_warn_unused const eT* memptr() const;
-    
-    arma_hot inline const Col<eT>& fill(const eT val);
-    arma_hot inline const Col<eT>& zeros();
-    arma_hot inline const Col<eT>& ones();
-    };
+  template<uword fixed_n_elem> class fixed;
   
   
   protected:
@@ -195,5 +125,80 @@
   };
 
 
+
+template<typename eT>
+template<uword fixed_n_elem>
+class Col<eT>::fixed : public Col<eT>
+  {
+  private:
+  
+  static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
+  
+  arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
+  
+  arma_inline void change_to_row();
+  
+  
+  public:
+  
+  typedef fixed<fixed_n_elem>               Col_fixed_type;
+  
+  typedef eT                                elem_type;
+  typedef typename get_pod_type<eT>::result pod_type;
+  
+  static const bool is_col = true;
+  static const bool is_row = false;
+  
+  static const uword n_rows = fixed_n_elem;
+  static const uword n_cols = 1;
+  static const uword n_elem = fixed_n_elem;
+  
+  arma_inline fixed();
+  arma_inline fixed(const fixed<fixed_n_elem>& X);
+       inline fixed(const subview_cube<eT>& X);
+  
+  template<typename T1>              inline fixed(const Base<eT,T1>& A);
+  template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& A, 
const Base<pod_type,T2>& B);
+  
+  inline fixed(const eT* aux_mem);
+  
+  inline fixed(const char*        text);
+  inline fixed(const std::string& text);
+  
+  template<typename T1> inline const Col& operator=(const Base<eT,T1>& A);
+  
+  inline const Col& operator=(const eT val);
+  inline const Col& operator=(const char*        text);
+  inline const Col& operator=(const std::string& text);
+  inline const Col& operator=(const subview_cube<eT>& X);
+  
+  using Col<eT>::operator();
+  
+  #if defined(ARMA_USE_CXX11)
+  inline                fixed(const std::initializer_list<eT>& list);
+  inline const Col& operator=(const std::initializer_list<eT>& list);
+  #endif
+  
+  arma_inline arma_warn_unused eT& operator[] (const uword i);
+  arma_inline arma_warn_unused eT  operator[] (const uword i) const;
+  arma_inline arma_warn_unused eT& at         (const uword i);
+  arma_inline arma_warn_unused eT  at         (const uword i) const;
+  arma_inline arma_warn_unused eT& operator() (const uword i);
+  arma_inline arma_warn_unused eT  operator() (const uword i) const;
+  
+  arma_inline arma_warn_unused eT& at         (const uword in_row, const uword 
in_col);
+  arma_inline arma_warn_unused eT  at         (const uword in_row, const uword 
in_col) const;
+  arma_inline arma_warn_unused eT& operator() (const uword in_row, const uword 
in_col);
+  arma_inline arma_warn_unused eT  operator() (const uword in_row, const uword 
in_col) const;
+  
+  arma_inline arma_warn_unused       eT* memptr();
+  arma_inline arma_warn_unused const eT* memptr() const;
+  
+  arma_hot inline const Col<eT>& fill(const eT val);
+  arma_hot inline const Col<eT>& zeros();
+  arma_hot inline const Col<eT>& ones();
+  };
+
+
 
 //! @}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-3.2.2/include/armadillo_bits/Cube_bones.hpp 
new/armadillo-3.2.3/include/armadillo_bits/Cube_bones.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/Cube_bones.hpp   2012-05-01 
07:43:40.000000000 +0200
+++ new/armadillo-3.2.3/include/armadillo_bits/Cube_bones.hpp   2012-06-29 
05:04:33.000000000 +0200
@@ -280,38 +280,7 @@
   inline const_slice_iterator end_slice(const uword slice_num)   const;
 
 
-  template<uword fixed_n_rows, uword fixed_n_cols, uword fixed_n_slices>
-  class fixed : public Cube<eT>
-    {
-    private:
-    
-    static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols * 
fixed_n_slices;
-    
-    arma_aligned Mat<eT>* mat_ptrs_local_extra[ (fixed_n_slices > 
Cube_prealloc::mat_ptrs_size) ? fixed_n_slices : 1 ];
-    arma_aligned eT       mem_local_extra     [ (fixed_n_elem   > 
Cube_prealloc::mem_n_elem)    ? fixed_n_elem   : 1 ];
-    
-    arma_inline void mem_setup();
-    
-    
-    public:
-    
-    inline fixed() { mem_setup(); }
-    
-    inline const Cube& operator=(const eT val) { mem_setup(); 
Cube<eT>::operator=(val); return *this; }
-    
-    template<typename T1>
-    inline fixed(const BaseCube<eT,T1>& A) { mem_setup(); 
Cube<eT>::operator=(A.get_ref()); }
-    
-    template<typename T1>
-    inline const Cube& operator=(const BaseCube<eT,T1>& A) { 
Cube<eT>::operator=(A.get_ref()); return *this; }
-    
-    template<typename T1, typename T2>
-    inline explicit fixed(const BaseCube<pod_type,T1>& A, const 
BaseCube<pod_type,T2>& B) { mem_setup(); Cube<eT>::init(A,B); }
-    
-    
-    // using Cube<eT>::operator();
-    // TODO: overload operator(), operator[] and .at() to allow faster element 
access
-    };
+  template<uword fixed_n_rows, uword fixed_n_cols, uword fixed_n_slices> class 
fixed;
   
   
   protected:
@@ -340,6 +309,42 @@
   };
 
 
+
+template<typename eT>
+template<uword fixed_n_rows, uword fixed_n_cols, uword fixed_n_slices>
+class Cube<eT>::fixed : public Cube<eT>
+  {
+  private:
+  
+  static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols * 
fixed_n_slices;
+  
+  arma_aligned Mat<eT>* mat_ptrs_local_extra[ (fixed_n_slices > 
Cube_prealloc::mat_ptrs_size) ? fixed_n_slices : 1 ];
+  arma_aligned eT       mem_local_extra     [ (fixed_n_elem   > 
Cube_prealloc::mem_n_elem)    ? fixed_n_elem   : 1 ];
+  
+  arma_inline void mem_setup();
+  
+  
+  public:
+  
+  inline fixed() { mem_setup(); }
+  
+  inline const Cube& operator=(const eT val) { mem_setup(); 
Cube<eT>::operator=(val); return *this; }
+  
+  template<typename T1>
+  inline fixed(const BaseCube<eT,T1>& A) { mem_setup(); 
Cube<eT>::operator=(A.get_ref()); }
+  
+  template<typename T1>
+  inline const Cube& operator=(const BaseCube<eT,T1>& A) { 
Cube<eT>::operator=(A.get_ref()); return *this; }
+  
+  template<typename T1, typename T2>
+  inline explicit fixed(const BaseCube<pod_type,T1>& A, const 
BaseCube<pod_type,T2>& B) { mem_setup(); Cube<eT>::init(A,B); }
+  
+  
+  // using Cube<eT>::operator();
+  // TODO: overload operator(), operator[] and .at() to allow faster element 
access
+  };
+
+
 
 class Cube_aux
   {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-3.2.2/include/armadillo_bits/Mat_bones.hpp 
new/armadillo-3.2.3/include/armadillo_bits/Mat_bones.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/Mat_bones.hpp    2012-05-08 
06:03:25.000000000 +0200
+++ new/armadillo-3.2.3/include/armadillo_bits/Mat_bones.hpp    2012-06-29 
05:04:33.000000000 +0200
@@ -463,75 +463,10 @@
   inline bool  empty() const;
   inline uword size()  const;
   
-  template<uword fixed_n_rows, uword fixed_n_cols>
-  class fixed : public Mat<eT>
-    {
-    private:
-    
-    static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols;
-    static const bool  use_extra    = (fixed_n_elem > 
arma_config::mat_prealloc);
-    
-    arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
-    
-    
-    public:
-    
-    typedef fixed<fixed_n_rows, fixed_n_cols> Mat_fixed_type;
-    
-    typedef eT                                elem_type;
-    typedef typename get_pod_type<eT>::result pod_type;
-    
-    static const bool is_col = (fixed_n_cols == 1) ? true : false;
-    static const bool is_row = (fixed_n_rows == 1) ? true : false;
-  
-    static const uword n_rows = fixed_n_rows;
-    static const uword n_cols = fixed_n_cols;
-    static const uword n_elem = fixed_n_elem;
-    
-    arma_inline fixed();
-    arma_inline fixed(const fixed<fixed_n_rows, fixed_n_cols>& X);
-    
-    template<typename T1>              inline fixed(const Base<eT,T1>& A);
-    template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& 
A, const Base<pod_type,T2>& B);
-    
-    inline fixed(const eT* aux_mem);
-    
-    inline fixed(const char*        text);
-    inline fixed(const std::string& text);
-    
-    using Mat<eT>::operator=;
-    using Mat<eT>::operator();
-    
-    #if defined(ARMA_USE_CXX11)
-    inline                fixed(const std::initializer_list<eT>& list);
-    inline const Mat& operator=(const std::initializer_list<eT>& list);
-    #endif
-    
-    
-    arma_inline arma_warn_unused eT& operator[] (const uword i);
-    arma_inline arma_warn_unused eT  operator[] (const uword i) const;
-    arma_inline arma_warn_unused eT& at         (const uword i);
-    arma_inline arma_warn_unused eT  at         (const uword i) const;
-    arma_inline arma_warn_unused eT& operator() (const uword i);
-    arma_inline arma_warn_unused eT  operator() (const uword i) const;
-    
-    arma_inline arma_warn_unused eT& at         (const uword in_row, const 
uword in_col);
-    arma_inline arma_warn_unused eT  at         (const uword in_row, const 
uword in_col) const;
-    arma_inline arma_warn_unused eT& operator() (const uword in_row, const 
uword in_col);
-    arma_inline arma_warn_unused eT  operator() (const uword in_row, const 
uword in_col) const;
-    
-    arma_inline arma_warn_unused       eT* memptr();
-    arma_inline arma_warn_unused const eT* memptr() const;
-    
-    arma_hot inline const Mat<eT>& fill(const eT val);
-    arma_hot inline const Mat<eT>& zeros();
-    arma_hot inline const Mat<eT>& ones();
-    };
-  
-  
-  
   inline void steal_mem(Mat& X);  //!< don't use this unless you're writing 
code internal to Armadillo
   
+  template<uword fixed_n_rows, uword fixed_n_cols> class fixed;
+  
   
   protected:
   
@@ -569,6 +504,74 @@
   };
 
 
+
+template<typename eT>
+template<uword fixed_n_rows, uword fixed_n_cols> 
+class Mat<eT>::fixed : public Mat<eT>
+  {
+  private:
+  
+  static const uword fixed_n_elem = fixed_n_rows * fixed_n_cols;
+  static const bool  use_extra    = (fixed_n_elem > arma_config::mat_prealloc);
+  
+  arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
+  
+  
+  public:
+  
+  typedef fixed<fixed_n_rows, fixed_n_cols> Mat_fixed_type;
+  
+  typedef eT                                elem_type;
+  typedef typename get_pod_type<eT>::result pod_type;
+  
+  static const bool is_col = (fixed_n_cols == 1) ? true : false;
+  static const bool is_row = (fixed_n_rows == 1) ? true : false;
+
+  static const uword n_rows = fixed_n_rows;
+  static const uword n_cols = fixed_n_cols;
+  static const uword n_elem = fixed_n_elem;
+  
+  arma_inline fixed();
+  arma_inline fixed(const fixed<fixed_n_rows, fixed_n_cols>& X);
+  
+  template<typename T1>              inline fixed(const Base<eT,T1>& A);
+  template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& A, 
const Base<pod_type,T2>& B);
+  
+  inline fixed(const eT* aux_mem);
+  
+  inline fixed(const char*        text);
+  inline fixed(const std::string& text);
+  
+  using Mat<eT>::operator=;
+  using Mat<eT>::operator();
+  
+  #if defined(ARMA_USE_CXX11)
+  inline                fixed(const std::initializer_list<eT>& list);
+  inline const Mat& operator=(const std::initializer_list<eT>& list);
+  #endif
+  
+  
+  arma_inline arma_warn_unused eT& operator[] (const uword i);
+  arma_inline arma_warn_unused eT  operator[] (const uword i) const;
+  arma_inline arma_warn_unused eT& at         (const uword i);
+  arma_inline arma_warn_unused eT  at         (const uword i) const;
+  arma_inline arma_warn_unused eT& operator() (const uword i);
+  arma_inline arma_warn_unused eT  operator() (const uword i) const;
+  
+  arma_inline arma_warn_unused eT& at         (const uword in_row, const uword 
in_col);
+  arma_inline arma_warn_unused eT  at         (const uword in_row, const uword 
in_col) const;
+  arma_inline arma_warn_unused eT& operator() (const uword in_row, const uword 
in_col);
+  arma_inline arma_warn_unused eT  operator() (const uword in_row, const uword 
in_col) const;
+  
+  arma_inline arma_warn_unused       eT* memptr();
+  arma_inline arma_warn_unused const eT* memptr() const;
+  
+  arma_hot inline const Mat<eT>& fill(const eT val);
+  arma_hot inline const Mat<eT>& zeros();
+  arma_hot inline const Mat<eT>& ones();
+  };
+
+
 
 class Mat_aux
   {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/armadillo-3.2.2/include/armadillo_bits/Row_bones.hpp 
new/armadillo-3.2.3/include/armadillo_bits/Row_bones.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/Row_bones.hpp    2012-05-08 
06:03:25.000000000 +0200
+++ new/armadillo-3.2.3/include/armadillo_bits/Row_bones.hpp    2012-06-29 
05:04:33.000000000 +0200
@@ -109,75 +109,7 @@
   inline const_row_iterator end_row  (const uword row_num) const;
   
   
-  template<uword fixed_n_elem>
-  class fixed : public Row<eT>
-    {
-    private:
-    
-    static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
-    
-    arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
-    
-    
-    public:
-    
-    typedef fixed<fixed_n_elem>               Row_fixed_type;
-    
-    typedef eT                                elem_type;
-    typedef typename get_pod_type<eT>::result pod_type;
-    
-    static const bool is_col = false;
-    static const bool is_row = true;
-    
-    static const uword n_rows = 1;
-    static const uword n_cols = fixed_n_elem;
-    static const uword n_elem = fixed_n_elem;
-    
-    arma_inline fixed();
-    arma_inline fixed(const fixed<fixed_n_elem>& X);
-         inline fixed(const subview_cube<eT>& X);
-    
-    template<typename T1>              inline fixed(const Base<eT,T1>& A);
-    template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& 
A, const Base<pod_type,T2>& B);
-    
-    inline fixed(const eT* aux_mem);
-    
-    inline fixed(const char*        text);
-    inline fixed(const std::string& text);
-    
-    template<typename T1> inline const Row& operator=(const Base<eT,T1>& A);
-    
-    inline const Row& operator=(const eT val);
-    inline const Row& operator=(const char*        text);
-    inline const Row& operator=(const std::string& text);
-    inline const Row& operator=(const subview_cube<eT>& X);
-    
-    using Row<eT>::operator();
-    
-    #if defined(ARMA_USE_CXX11)
-    inline                fixed(const std::initializer_list<eT>& list);
-    inline const Row& operator=(const std::initializer_list<eT>& list);
-    #endif
-    
-    arma_inline arma_warn_unused eT& operator[] (const uword i);
-    arma_inline arma_warn_unused eT  operator[] (const uword i) const;
-    arma_inline arma_warn_unused eT& at         (const uword i);
-    arma_inline arma_warn_unused eT  at         (const uword i) const;
-    arma_inline arma_warn_unused eT& operator() (const uword i);
-    arma_inline arma_warn_unused eT  operator() (const uword i) const;
-    
-    arma_inline arma_warn_unused eT& at         (const uword in_row, const 
uword in_col);
-    arma_inline arma_warn_unused eT  at         (const uword in_row, const 
uword in_col) const;
-    arma_inline arma_warn_unused eT& operator() (const uword in_row, const 
uword in_col);
-    arma_inline arma_warn_unused eT  operator() (const uword in_row, const 
uword in_col) const;
-    
-    arma_inline arma_warn_unused       eT* memptr();
-    arma_inline arma_warn_unused const eT* memptr() const;
-    
-    arma_hot inline const Row<eT>& fill(const eT val);
-    arma_hot inline const Row<eT>& zeros();
-    arma_hot inline const Row<eT>& ones();
-    };
+  template<uword fixed_n_elem> class fixed;
   
   
   protected:
@@ -193,5 +125,78 @@
   };
 
 
+
+template<typename eT>
+template<uword fixed_n_elem>
+class Row<eT>::fixed : public Row<eT>
+  {
+  private:
+  
+  static const bool use_extra = (fixed_n_elem > arma_config::mat_prealloc);
+  
+  arma_aligned eT mem_local_extra[ (use_extra) ? fixed_n_elem : 1 ];
+  
+  
+  public:
+  
+  typedef fixed<fixed_n_elem>               Row_fixed_type;
+  
+  typedef eT                                elem_type;
+  typedef typename get_pod_type<eT>::result pod_type;
+  
+  static const bool is_col = false;
+  static const bool is_row = true;
+  
+  static const uword n_rows = 1;
+  static const uword n_cols = fixed_n_elem;
+  static const uword n_elem = fixed_n_elem;
+  
+  arma_inline fixed();
+  arma_inline fixed(const fixed<fixed_n_elem>& X);
+       inline fixed(const subview_cube<eT>& X);
+  
+  template<typename T1>              inline fixed(const Base<eT,T1>& A);
+  template<typename T1, typename T2> inline fixed(const Base<pod_type,T1>& A, 
const Base<pod_type,T2>& B);
+  
+  inline fixed(const eT* aux_mem);
+  
+  inline fixed(const char*        text);
+  inline fixed(const std::string& text);
+  
+  template<typename T1> inline const Row& operator=(const Base<eT,T1>& A);
+  
+  inline const Row& operator=(const eT val);
+  inline const Row& operator=(const char*        text);
+  inline const Row& operator=(const std::string& text);
+  inline const Row& operator=(const subview_cube<eT>& X);
+  
+  using Row<eT>::operator();
+  
+  #if defined(ARMA_USE_CXX11)
+  inline                fixed(const std::initializer_list<eT>& list);
+  inline const Row& operator=(const std::initializer_list<eT>& list);
+  #endif
+  
+  arma_inline arma_warn_unused eT& operator[] (const uword i);
+  arma_inline arma_warn_unused eT  operator[] (const uword i) const;
+  arma_inline arma_warn_unused eT& at         (const uword i);
+  arma_inline arma_warn_unused eT  at         (const uword i) const;
+  arma_inline arma_warn_unused eT& operator() (const uword i);
+  arma_inline arma_warn_unused eT  operator() (const uword i) const;
+  
+  arma_inline arma_warn_unused eT& at         (const uword in_row, const uword 
in_col);
+  arma_inline arma_warn_unused eT  at         (const uword in_row, const uword 
in_col) const;
+  arma_inline arma_warn_unused eT& operator() (const uword in_row, const uword 
in_col);
+  arma_inline arma_warn_unused eT  operator() (const uword in_row, const uword 
in_col) const;
+  
+  arma_inline arma_warn_unused       eT* memptr();
+  arma_inline arma_warn_unused const eT* memptr() const;
+  
+  arma_hot inline const Row<eT>& fill(const eT val);
+  arma_hot inline const Row<eT>& zeros();
+  arma_hot inline const Row<eT>& ones();
+  };
+
+
 
 //! @}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-3.2.2/include/armadillo_bits/arma_version.hpp 
new/armadillo-3.2.3/include/armadillo_bits/arma_version.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/arma_version.hpp 2012-06-01 
08:20:52.000000000 +0200
+++ new/armadillo-3.2.3/include/armadillo_bits/arma_version.hpp 2012-06-29 
05:06:03.000000000 +0200
@@ -18,7 +18,7 @@
 
 #define ARMA_VERSION_MAJOR 3
 #define ARMA_VERSION_MINOR 2
-#define ARMA_VERSION_PATCH 2
+#define ARMA_VERSION_PATCH 3
 #define ARMA_VERSION_NAME  "Creamfields"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-3.2.2/include/armadillo_bits/glue_cor_meat.hpp 
new/armadillo-3.2.3/include/armadillo_bits/glue_cor_meat.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/glue_cor_meat.hpp        
2011-11-01 16:23:38.000000000 +0100
+++ new/armadillo-3.2.3/include/armadillo_bits/glue_cor_meat.hpp        
2012-06-29 05:04:33.000000000 +0200
@@ -1,5 +1,5 @@
-// Copyright (C) 2009-2011 NICTA (www.nicta.com.au)
-// Copyright (C) 2009-2011 Conrad Sanderson
+// Copyright (C) 2009-2012 NICTA (www.nicta.com.au)
+// Copyright (C) 2009-2012 Conrad Sanderson
 // Copyright (C) 2009-2010 Dimitrios Bouzas
 // 
 // This file is part of the Armadillo C++ library.
@@ -68,7 +68,7 @@
     }
   else
     {
-    arma_debug_assert_same_size(A, B, "cor()");
+    arma_debug_assert_mul_size(A, B, true, false, "cor()");
     
     const uword N = A.n_rows;
     const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : 
eT(N);
@@ -135,7 +135,7 @@
     }
   else
     {
-    arma_debug_assert_same_size(A, B, "cor()");
+    arma_debug_assert_mul_size(A, B, true, false, "cor()");
     
     const uword N = A.n_rows;
     const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : 
eT(N);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/armadillo-3.2.2/include/armadillo_bits/glue_cov_meat.hpp 
new/armadillo-3.2.3/include/armadillo_bits/glue_cov_meat.hpp
--- old/armadillo-3.2.2/include/armadillo_bits/glue_cov_meat.hpp        
2011-11-01 16:23:38.000000000 +0100
+++ new/armadillo-3.2.3/include/armadillo_bits/glue_cov_meat.hpp        
2012-06-29 05:04:33.000000000 +0200
@@ -1,5 +1,5 @@
-// Copyright (C) 2009-2011 NICTA (www.nicta.com.au)
-// Copyright (C) 2009-2011 Conrad Sanderson
+// Copyright (C) 2009-2012 NICTA (www.nicta.com.au)
+// Copyright (C) 2009-2012 Conrad Sanderson
 // Copyright (C) 2009-2010 Dimitrios Bouzas
 // 
 // This file is part of the Armadillo C++ library.
@@ -57,11 +57,11 @@
     }
   else
     {
-    arma_debug_assert_same_size(A, B, "cov()");
-
+    arma_debug_assert_mul_size(A, B, true, false, "cov()");
+    
     const uword N = A.n_rows;
     const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : 
eT(N);
-
+    
     out = trans(A) * B;
     out -= (trans(sum(A)) * sum(B))/eT(N);
     out /= norm_val;
@@ -112,8 +112,8 @@
     }
   else
     {
-    arma_debug_assert_same_size(A, B, "cov()");
-  
+    arma_debug_assert_mul_size(A, B, true, false, "cov()");
+    
     const uword N = A.n_rows;
     const eT norm_val = (norm_type == 0) ? ( (N > 1) ? eT(N-1) : eT(1) ) : 
eT(N);
     

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to