[Rcpp-commits] r3690 - in pkg/RcppArmadillo: . inst inst/include/armadillo_bits

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Jul 12 03:01:33 CEST 2012


Author: edd
Date: 2012-07-12 03:01:32 +0200 (Thu, 12 Jul 2012)
New Revision: 3690

Modified:
   pkg/RcppArmadillo/ChangeLog
   pkg/RcppArmadillo/DESCRIPTION
   pkg/RcppArmadillo/inst/NEWS
   pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Row_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/compiler_setup.hpp
Log:
 o Release 0.3.2.4 with RcppArmadillo 3.2.4


Modified: pkg/RcppArmadillo/ChangeLog
===================================================================
--- pkg/RcppArmadillo/ChangeLog	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/ChangeLog	2012-07-12 01:01:32 UTC (rev 3690)
@@ -1,3 +1,9 @@
+2012-07-11  Dirk Eddelbuettel  <edd at debian.org>
+
+	* DESCRIPTION: Release 0.3.2.4
+
+	* inst/include/*: Upgraded to new release 3.2.4 of Armadillo
+
 2012-07-01  Dirk Eddelbuettel  <edd at debian.org>
 
 	* DESCRIPTION: Release 0.3.2.3

Modified: pkg/RcppArmadillo/DESCRIPTION
===================================================================
--- pkg/RcppArmadillo/DESCRIPTION	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/DESCRIPTION	2012-07-12 01:01:32 UTC (rev 3690)
@@ -1,7 +1,7 @@
 Package: RcppArmadillo
 Type: Package
 Title: Rcpp integration for Armadillo templated linear algebra library
-Version: 0.3.2.3
+Version: 0.3.2.4
 Date: $Date$
 Author: Romain Francois, Dirk Eddelbuettel and Doug Bates
 Maintainer: Dirk Eddelbuettel <edd at debian.org>
@@ -21,7 +21,7 @@
  (due to speed and/or integration capabilities), rather than another language.
  .
  The RcppArmadillo package includes the header files from the templated
- Armadillo library (currently version 3.2.3). Thus users do not need to
+ Armadillo library (currently version 3.2.4). Thus users do not need to
  install Armadillo itself in order to use RcppArmadillo.
  .
  This Armadillo integration provides a nice illustration of the 

Modified: pkg/RcppArmadillo/inst/NEWS
===================================================================
--- pkg/RcppArmadillo/inst/NEWS	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/NEWS	2012-07-12 01:01:32 UTC (rev 3690)
@@ -1,3 +1,9 @@
+0.3.2.4  2012-07-11
+
+    o   Upgraded to Armadillo release 3.2.4
+
+          * workaround for a regression (bug) in GCC 4.7.0 and 4.7.1
+
 0.3.2.3  2012-07-01
 
     o   Upgraded to Armadillo release 3.2.3 

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp	2012-07-12 01:01:32 UTC (rev 3690)
@@ -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:
@@ -196,4 +126,84 @@
 
 
 
+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);
+  
+  
+  #if !defined(ARMA_GCC47_BUG)
+    using Col<eT>::operator();
+  #endif
+  
+  
+  #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();
+  };
+
+
+
 //! @}

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_bones.hpp	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_bones.hpp	2012-07-12 01:01:32 UTC (rev 3690)
@@ -463,76 +463,11 @@
   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;
+  inline void steal_mem(Mat& X);  //!< don't use this unless you're writing code internal to Armadillo
   
-    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();
-    };
+  template<uword fixed_n_rows, uword fixed_n_cols> class fixed;
   
   
-  
-  inline void steal_mem(Mat& X);  //!< don't use this unless you're writing code internal to Armadillo
-  
-  
   protected:
   
   inline void init_cold();
@@ -570,6 +505,85 @@
 
 
 
+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);
+  
+  
+  #if !defined(ARMA_GCC47_BUG)
+    using Mat<eT>::operator=;
+    using Mat<eT>::operator();
+  #else
+    template<typename T1> inline const Mat& operator=(const Base<eT,T1>& A);
+    
+    inline const Mat& operator=(const eT val);
+    
+    inline const Mat& operator=(const char*        text);
+    inline const Mat& operator=(const std::string& text);
+  #endif
+  
+  
+  #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
   {
   public:

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp	2012-07-12 01:01:32 UTC (rev 3690)
@@ -469,11 +469,11 @@
   
   return *this;
   }
-  
+
 #endif
-  
 
 
+
 //! Set the matrix to be equal to the specified scalar.
 //! NOTE: the size of the matrix will be 1x1
 template<typename eT>
@@ -5744,6 +5744,69 @@
 
 
 
+#if defined(ARMA_GCC47_BUG)
+  
+  template<typename eT>
+  template<uword fixed_n_rows, uword fixed_n_cols>
+  template<typename T1>
+  inline
+  const Mat<eT>&
+  Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator=(const Base<eT,T1>& A)
+    {
+    Mat<eT>::operator=(A.get_ref());
+    
+    return *this;
+    }
+  
+  
+  
+  template<typename eT>
+  template<uword fixed_n_rows, uword fixed_n_cols>
+  inline
+  const Mat<eT>&
+  Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator=(const eT val)
+    {
+    arma_extra_debug_sigprint();
+    
+    Mat<eT>::operator=(val);
+    
+    return *this;
+    }
+  
+  
+  
+  template<typename eT>
+  template<uword fixed_n_rows, uword fixed_n_cols>
+  inline
+  const Mat<eT>&
+  Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator=(const char* text)
+    {
+    arma_extra_debug_sigprint();
+    
+    Mat<eT>::operator=(text);
+    
+    return *this;
+    }
+  
+  
+  
+  template<typename eT>
+  template<uword fixed_n_rows, uword fixed_n_cols>
+  inline
+  const Mat<eT>&
+  Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator=(const std::string& text)
+    {
+    arma_extra_debug_sigprint();
+    
+    Mat<eT>::operator=(text);
+    
+    return *this;
+    }
+  
+#endif
+
+
+
 #if defined(ARMA_USE_CXX11)
 
 template<typename eT>
@@ -5779,7 +5842,7 @@
   
   return *this;
   }
-  
+
 #endif
   
 

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Row_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Row_bones.hpp	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Row_bones.hpp	2012-07-12 01:01:32 UTC (rev 3690)
@@ -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:
@@ -194,4 +126,82 @@
 
 
 
+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);
+  
+  
+  #if !defined(ARMA_GCC47_BUG)
+    using Row<eT>::operator();
+  #endif
+  
+  
+  #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();
+  };
+
+
+
 //! @}

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp	2012-07-12 01:01:32 UTC (rev 3690)
@@ -18,7 +18,7 @@
 
 #define ARMA_VERSION_MAJOR 3
 #define ARMA_VERSION_MINOR 2
-#define ARMA_VERSION_PATCH 3
+#define ARMA_VERSION_PATCH 4
 #define ARMA_VERSION_NAME  "Creamfields"
 
 

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/compiler_setup.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/compiler_setup.hpp	2012-07-11 14:58:52 UTC (rev 3689)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/compiler_setup.hpp	2012-07-12 01:01:32 UTC (rev 3690)
@@ -111,6 +111,15 @@
     #define arma_cold __attribute__((cold))
   #endif
   
+  #if ( (ARMA_GCC_VERSION >= 40700) && (ARMA_GCC_VERSION <= 40701) )
+    #define ARMA_GCC47_BUG
+    
+    #warning "*** Detected GCC 4.7.0 / 4.7.1, which has a regression (bug)"
+    #warning "*** See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53549   "
+    #warning "*** A partial workaround for the bug has been activated,    " 
+    #warning "*** which reduces some functionality in fixed-size matrices "
+  #endif
+  
   #undef ARMA_GCC_VERSION
   
 #endif



More information about the Rcpp-commits mailing list