[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