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

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue Nov 15 02:56:18 CET 2011


Author: edd
Date: 2011-11-15 02:56:16 +0100 (Tue, 15 Nov 2011)
New Revision: 3360

Added:
   pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Base_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Base_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/GenCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/GenCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Gen_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Gen_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arma_static_check.hpp
Modified:
   pkg/RcppArmadillo/inst/include/RcppArmadilloConfig.h
   pkg/RcppArmadillo/inst/include/armadillo
   pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Cube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Cube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Glue_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Glue_meat.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/OpCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/OpCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Op_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Op_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Proxy.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/ProxyCube.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Row_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Row_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arma_config.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arrayops_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/arrayops_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/atlas_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/auxlib_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/auxlib_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/blas_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/compiler_setup.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/config.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/debug.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/diagmat_proxy.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/diagview_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/diagview_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/diskio_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eGlueCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eGlueCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eGlue_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eGlue_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eOpCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eOpCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eOp_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eOp_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eglue_core_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eop_aux.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eop_core_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/eop_core_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/field_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/field_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_accu.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_as_scalar.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_conv_to.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_cor.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_cov.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_cumsum.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_det.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_diagvec.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_eig.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_elem.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_eps.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_eye.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_inv.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_log_det.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_max.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_mean.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_median.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_min.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_misc.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_norm.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_ones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_prod.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_randn.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_randu.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_rank.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_repmat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_reshape.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_shuffle.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_solve.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_sort.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_sort_index.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_stddev.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_sum.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_svd.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_trace.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_var.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_zeros.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/format_wrap.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/forward_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/gemm.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/gemm_mixed.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/gemv.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_conv_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_cor_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_cor_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_cov_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_cov_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_join_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_kron_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_mixed_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_relational_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_relational_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_solve_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_toeplitz_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/injector_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/injector_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/lapack_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtGlueCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtGlueCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtGlue_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtGlue_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtOpCube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtOpCube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtOp_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/mtOp_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cor_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cor_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cov_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cov_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cumsum_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cx_scalar_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_diagmat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_diagvec_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_dotext_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_find_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_find_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_flip_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_htrans_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_inv_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_max_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_max_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_mean_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_mean_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_median_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_median_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_min_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_min_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_misc_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_pinv_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_princomp_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_prod_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_relational_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_relational_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_repmat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_reshape_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_shuffle_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_sort_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_sort_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_stddev_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_strans_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_strans_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_sum_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_symmat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_trimat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_var_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_var_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/operator_cube_relational.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/operator_relational.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/operator_times.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/podarray_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/podarray_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/promote_type.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/restrictors.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/running_stat_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/running_stat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/running_stat_vec_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/running_stat_vec_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/span.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_cube_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_cube_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_elem1_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_elem1_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_field_bones.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_field_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/traits.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/typedef.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/undefine_conflicts.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/unwrap_cube.hpp
Log:
committing Armadillo 2.3.91


Modified: pkg/RcppArmadillo/inst/include/RcppArmadilloConfig.h
===================================================================
--- pkg/RcppArmadillo/inst/include/RcppArmadilloConfig.h	2011-11-14 20:38:37 UTC (rev 3359)
+++ pkg/RcppArmadillo/inst/include/RcppArmadilloConfig.h	2011-11-15 01:56:16 UTC (rev 3360)
@@ -54,5 +54,10 @@
 #undef ARMA_HAVE_STD_ISNAN
 #endif
 
+// Let's be careful for now and undef this as not all compilers support this
+#if defined(ARMA_USE_CXX11)
+#undef ARMA_USE_CXX11
 #endif
 
+#endif
+

Modified: pkg/RcppArmadillo/inst/include/armadillo
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo	2011-11-14 20:38:37 UTC (rev 3359)
+++ pkg/RcppArmadillo/inst/include/armadillo	2011-11-15 01:56:16 UTC (rev 3360)
@@ -32,8 +32,14 @@
 
 #include "armadillo_bits/config.hpp"
 #include "armadillo_bits/compiler_setup.hpp"
+#include "armadillo_bits/undefine_conflicts.hpp"
 
 
+#if defined(ARMA_USE_CXX11)
+  #include <initializer_list>
+#endif
+
+
 #if defined(ARMA_HAVE_GETTIMEOFDAY)
   #include <sys/time.h>
   #undef ARMA_USE_BOOST_DATE
@@ -46,6 +52,7 @@
 
 
 #if defined(ARMA_HAVE_STD_TR1)
+  // TODO: add handling of this functionality when use of C++11 is enabled
   #include <tr1/cmath>
   #include <tr1/complex>
 #elif defined(ARMA_USE_BOOST)
@@ -97,7 +104,6 @@
 
 
 #include "armadillo_bits/itpp_wrap.hpp"
-#include "armadillo_bits/undefine_conflicts.hpp"
 
 
 //! \namespace arma namespace for Armadillo classes and functions
@@ -107,9 +113,8 @@
   // preliminaries
   
   #include "armadillo_bits/forward_bones.hpp"
-  #include "armadillo_bits/arma_static_assert.hpp"
+  #include "armadillo_bits/arma_static_check.hpp"
   #include "armadillo_bits/typedef.hpp"
-  //#include "armadillo_bits/typedef_u64.hpp"
   #include "armadillo_bits/format_wrap.hpp"
   #include "armadillo_bits/arma_version.hpp"
   #include "armadillo_bits/arma_config.hpp"
@@ -125,8 +130,8 @@
   //
   // class prototypes
   
-  #include "armadillo_bits/Base.hpp"
-  #include "armadillo_bits/BaseCube.hpp"
+  #include "armadillo_bits/Base_bones.hpp"
+  #include "armadillo_bits/BaseCube_bones.hpp"
   
   #include "armadillo_bits/blas_bones.hpp"
   #include "armadillo_bits/lapack_bones.hpp"
@@ -178,6 +183,9 @@
   #include "armadillo_bits/eop_core_bones.hpp"
   #include "armadillo_bits/eglue_core_bones.hpp"
   
+  #include "armadillo_bits/Gen_bones.hpp"
+  #include "armadillo_bits/GenCube_bones.hpp"
+  
   #include "armadillo_bits/op_diagmat_bones.hpp"
   #include "armadillo_bits/op_diagvec_bones.hpp"
   #include "armadillo_bits/op_dot_bones.hpp"
@@ -266,7 +274,13 @@
   #include "armadillo_bits/mtGlue_meat.hpp"
   #include "armadillo_bits/mtGlueCube_meat.hpp"
   
+  #include "armadillo_bits/Base_meat.hpp"
+  #include "armadillo_bits/BaseCube_meat.hpp"
   
+  #include "armadillo_bits/Gen_meat.hpp"
+  #include "armadillo_bits/GenCube_meat.hpp"
+  
+  
   //
   // ostream
   

Added: pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_bones.hpp	                        (rev 0)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_bones.hpp	2011-11-15 01:56:16 UTC (rev 3360)
@@ -0,0 +1,34 @@
+// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2011 Conrad Sanderson
+// 
+// This file is part of the Armadillo C++ library.
+// It is provided without any warranty of fitness
+// for any purpose. You can redistribute this file
+// and/or modify it under the terms of the GNU
+// Lesser General Public License (LGPL) as published
+// by the Free Software Foundation, either version 3
+// of the License or (at your option) any later version.
+// (see http://www.opensource.org/licenses for more info)
+
+
+//! \addtogroup BaseCube
+//! @{
+
+
+
+//! Analog of the Base class, intended for cubes
+template<typename elem_type, typename derived>
+struct BaseCube
+  {
+  arma_inline const derived& get_ref() const;
+  
+  inline void print(const std::string extra_text = "") const;
+  inline void print(std::ostream& user_stream, const std::string extra_text = "") const;
+  
+  inline void raw_print(const std::string extra_text = "") const;
+  inline void raw_print(std::ostream& user_stream, const std::string extra_text = "") const;
+  };
+
+
+
+//! @}

Added: pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_meat.hpp	                        (rev 0)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/BaseCube_meat.hpp	2011-11-15 01:56:16 UTC (rev 3360)
@@ -0,0 +1,77 @@
+// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2011 Conrad Sanderson
+// 
+// This file is part of the Armadillo C++ library.
+// It is provided without any warranty of fitness
+// for any purpose. You can redistribute this file
+// and/or modify it under the terms of the GNU
+// Lesser General Public License (LGPL) as published
+// by the Free Software Foundation, either version 3
+// of the License or (at your option) any later version.
+// (see http://www.opensource.org/licenses for more info)
+
+
+//! \addtogroup BaseCube
+//! @{
+
+
+
+template<typename elem_type, typename derived>
+arma_inline
+const derived&
+BaseCube<elem_type,derived>::get_ref() const
+  {
+  return static_cast<const derived&>(*this);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+BaseCube<elem_type,derived>::print(const std::string extra_text) const
+  {
+  const unwrap_cube<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_print(extra_text);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+BaseCube<elem_type,derived>::print(std::ostream& user_stream, const std::string extra_text) const
+  {
+  const unwrap_cube<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_print(user_stream, extra_text);
+  }
+  
+
+
+template<typename elem_type, typename derived>
+inline
+void
+BaseCube<elem_type,derived>::raw_print(const std::string extra_text) const
+  {
+  const unwrap_cube<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_raw_print(extra_text);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+BaseCube<elem_type,derived>::raw_print(std::ostream& user_stream, const std::string extra_text) const
+  {
+  const unwrap_cube<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_raw_print(user_stream, extra_text);
+  }
+  
+
+
+//! @}

Added: pkg/RcppArmadillo/inst/include/armadillo_bits/Base_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Base_bones.hpp	                        (rev 0)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Base_bones.hpp	2011-11-15 01:56:16 UTC (rev 3360)
@@ -0,0 +1,47 @@
+// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2011 Conrad Sanderson
+// 
+// This file is part of the Armadillo C++ library.
+// It is provided without any warranty of fitness
+// for any purpose. You can redistribute this file
+// and/or modify it under the terms of the GNU
+// Lesser General Public License (LGPL) as published
+// by the Free Software Foundation, either version 3
+// of the License or (at your option) any later version.
+// (see http://www.opensource.org/licenses for more info)
+
+
+//! \addtogroup Base
+//! @{
+
+
+
+//! Class for static polymorphism, modelled after the "Curiously Recurring Template Pattern" (CRTP).
+//! Used for type-safe downcasting in functions that restrict their input(s) to be classes that are
+//! derived from Base (e.g. Mat, Op, Glue, diagview, subview).
+//! A Base object can be converted to a Mat object by the unwrap class.
+
+template<typename elem_type, typename derived>
+struct Base
+  {
+  arma_inline const derived& get_ref() const;
+  
+  arma_inline const Op<derived,op_htrans>  t() const;
+  arma_inline const Op<derived,op_strans> st() const;
+  
+  inline void print(const std::string extra_text = "") const;
+  inline void print(std::ostream& user_stream, const std::string extra_text = "") const;
+  
+  inline void raw_print(const std::string extra_text = "") const;
+  inline void raw_print(std::ostream& user_stream, const std::string extra_text = "") const;
+  
+  arma_deprecated inline void print_trans(const std::string extra_text = "") const;
+  arma_deprecated inline void print_trans(std::ostream& user_stream, const std::string extra_text = "") const;
+  
+  arma_deprecated inline void raw_print_trans(const std::string extra_text = "") const;
+  arma_deprecated inline void raw_print_trans(std::ostream& user_stream, const std::string extra_text = "") const;
+  };
+
+
+
+//! @}

Added: pkg/RcppArmadillo/inst/include/armadillo_bits/Base_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Base_meat.hpp	                        (rev 0)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Base_meat.hpp	2011-11-15 01:56:16 UTC (rev 3360)
@@ -0,0 +1,145 @@
+// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2011 Conrad Sanderson
+// 
+// This file is part of the Armadillo C++ library.
+// It is provided without any warranty of fitness
+// for any purpose. You can redistribute this file
+// and/or modify it under the terms of the GNU
+// Lesser General Public License (LGPL) as published
+// by the Free Software Foundation, either version 3
+// of the License or (at your option) any later version.
+// (see http://www.opensource.org/licenses for more info)
+
+
+//! \addtogroup Base
+//! @{
+
+
+
+template<typename elem_type, typename derived>
+arma_inline
+const derived&
+Base<elem_type,derived>::get_ref() const
+  {
+  return static_cast<const derived&>(*this);
+  }
+
+
+
+template<typename elem_type, typename derived>
+arma_inline
+const Op<derived,op_htrans>
+Base<elem_type,derived>::t() const
+  {
+  return Op<derived,op_htrans>( (*this).get_ref() );
+  }
+
+
+
+template<typename elem_type, typename derived>
+arma_inline
+const Op<derived,op_strans>
+Base<elem_type,derived>::st() const
+  {
+  return Op<derived,op_strans>( (*this).get_ref() );
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::print(const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_print(extra_text);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::print(std::ostream& user_stream, const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_print(user_stream, extra_text);
+  }
+  
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::print_trans(const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_print_trans(extra_text);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::print_trans(std::ostream& user_stream, const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_print_trans(user_stream, extra_text);
+  }
+  
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::raw_print(const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_raw_print(extra_text);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::raw_print(std::ostream& user_stream, const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_raw_print(user_stream, extra_text);
+  }
+  
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::raw_print_trans(const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_raw_print_trans(extra_text);
+  }
+
+
+
+template<typename elem_type, typename derived>
+inline
+void
+Base<elem_type,derived>::raw_print_trans(std::ostream& user_stream, const std::string extra_text) const
+  {
+  const unwrap<derived> tmp( (*this).get_ref() );
+  
+  tmp.M.impl_raw_print_trans(user_stream, extra_text);
+  }
+
+
+
+//! @}

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp	2011-11-14 20:38:37 UTC (rev 3359)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Col_bones.hpp	2011-11-15 01:56:16 UTC (rev 3360)
@@ -26,21 +26,28 @@
   
   
   inline          Col();
-  inline explicit Col(const u32 n_elem);
-  inline          Col(const u32 in_rows, const u32 in_cols);
+  inline explicit Col(const uword n_elem);
+  inline          Col(const uword in_rows, const uword in_cols);
   
   inline                  Col(const char*        text);
   inline const Col& operator=(const char*        text);
+  
   inline                  Col(const std::string& text);
   inline const Col& operator=(const std::string& text);
   
+  #if defined(ARMA_USE_CXX11)
+  inline                  Col(const std::initializer_list<eT>& list);
+  inline const Col& operator=(const std::initializer_list<eT>& list);
+  #endif
+  
+  
   inline const Col& operator=(const eT val);
     
   template<typename T1> inline                   Col(const Base<eT,T1>& X);
   template<typename T1> inline const Col&  operator=(const Base<eT,T1>& X);
   
-  inline Col(      eT* aux_mem, const u32 aux_length, const bool copy_aux_mem = true, const bool strict = true);
-  inline Col(const eT* aux_mem, const u32 aux_length);
+  inline Col(      eT* aux_mem, const uword aux_length, const bool copy_aux_mem = true, const bool strict = true);
+  inline Col(const eT* aux_mem, const uword aux_length);
   
   template<typename T1, typename T2>
   inline explicit Col(const Base<pod_type,T1>& A, const Base<pod_type,T2>& B);
@@ -53,14 +60,14 @@
   
   inline mat_injector<Col> operator<<(const eT val);
   
-  arma_inline eT& row(const u32 row_num);
-  arma_inline eT  row(const u32 row_num) const;
+  arma_inline eT& row(const uword row_num);
+  arma_inline eT  row(const uword row_num) const;
   
-  arma_inline       subview_col<eT> rows(const u32 in_row1, const u32 in_row2);
-  arma_inline const subview_col<eT> rows(const u32 in_row1, const u32 in_row2) const;
+  arma_inline       subview_col<eT> rows(const uword in_row1, const uword in_row2);
+  arma_inline const subview_col<eT> rows(const uword in_row1, const uword in_row2) const;
   
-  arma_inline       subview_col<eT> subvec(const u32 in_row1, const u32 in_row2);
-  arma_inline const subview_col<eT> subvec(const u32 in_row1, const u32 in_row2) const;
+  arma_inline       subview_col<eT> subvec(const uword in_row1, const uword in_row2);
+  arma_inline const subview_col<eT> subvec(const uword in_row1, const uword in_row2) const;
   
   arma_inline       subview_col<eT> subvec(const span& row_span);
   arma_inline const subview_col<eT> subvec(const span& row_span) const;
@@ -69,24 +76,24 @@
   //arma_inline const subview_col<eT> operator()(const span& row_span) const;
   
   
-  inline void shed_row (const u32 row_num);
-  inline void shed_rows(const u32 in_row1, const u32 in_row2);
+  inline void shed_row (const uword row_num);
+  inline void shed_rows(const uword in_row1, const uword in_row2);
   
-                        inline void insert_rows(const u32 row_num, const u32 N, const bool set_to_zero = true);
-  template<typename T1> inline void insert_rows(const u32 row_num, const Base<eT,T1>& X);
+                        inline void insert_rows(const uword row_num, const uword N, const bool set_to_zero = true);
+  template<typename T1> inline void insert_rows(const uword row_num, const Base<eT,T1>& X);
   
   
   typedef       eT*       row_iterator;
   typedef const eT* const_row_iterator;
   
-  inline       row_iterator begin_row(const u32 row_num);
-  inline const_row_iterator begin_row(const u32 row_num) const;
+  inline       row_iterator begin_row(const uword row_num);
+  inline const_row_iterator begin_row(const uword row_num) const;
   
-  inline       row_iterator end_row  (const u32 row_num);
-  inline const_row_iterator end_row  (const u32 row_num) const;
+  inline       row_iterator end_row  (const uword row_num);
+  inline const_row_iterator end_row  (const uword row_num) const;
   
   
-  template<u32 fixed_n_elem>
+  template<uword fixed_n_elem>
   class fixed : public Col<eT>
     {
     private:
@@ -101,9 +108,9 @@
     
     public:
     
-    static const u32 n_rows = fixed_n_elem;
-    static const u32 n_cols = 1;
-    static const u32 n_elem = fixed_n_elem;
+    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);
@@ -125,26 +132,26 @@
     inline const Col& operator=(const std::string& text);
     inline const Col& operator=(const subview_cube<eT>& X);
     
-    inline       subview_row<eT> operator()(const u32   row_num,  const span& col_span);
-    inline const subview_row<eT> operator()(const u32   row_num,  const span& col_span) const;
+    inline       subview_row<eT> operator()(const uword   row_num,  const span& col_span);
+    inline const subview_row<eT> operator()(const uword   row_num,  const span& col_span) const;
     
-    inline       subview_col<eT> operator()(const span& row_span, const u32   col_num );
-    inline const subview_col<eT> operator()(const span& row_span, const u32   col_num ) const;
+    inline       subview_col<eT> operator()(const span& row_span, const uword   col_num );
+    inline const subview_col<eT> operator()(const span& row_span, const uword   col_num ) const;
     
     inline       subview<eT>     operator()(const span& row_span, const span& col_span);
     inline const subview<eT>     operator()(const span& row_span, const span& col_span) const;
     
-    arma_inline arma_warn_unused eT& operator[] (const u32 i);
-    arma_inline arma_warn_unused eT  operator[] (const u32 i) const;
-    arma_inline arma_warn_unused eT& at         (const u32 i);
-    arma_inline arma_warn_unused eT  at         (const u32 i) const;
-    arma_inline arma_warn_unused eT& operator() (const u32 i);
-    arma_inline arma_warn_unused eT  operator() (const u32 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 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 u32 in_row, const u32 in_col);
-    arma_inline arma_warn_unused eT  at         (const u32 in_row, const u32 in_col) const;
-    arma_inline arma_warn_unused eT& operator() (const u32 in_row, const u32 in_col);
-    arma_inline arma_warn_unused eT  operator() (const u32 in_row, const u32 in_col) 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_hot inline const Col<eT>& fill(const eT val);
     arma_hot inline const Col<eT>& zeros();

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp	2011-11-14 20:38:37 UTC (rev 3359)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp	2011-11-15 01:56:16 UTC (rev 3360)
@@ -19,10 +19,10 @@
 template<typename eT>
 inline
 Col<eT>::Col()
+  : Mat<eT>(0, 1)
   {
   arma_extra_debug_sigprint();
   
-  access::rw(Mat<eT>::n_cols)    = 1;
   access::rw(Mat<eT>::vec_state) = 1;
   }
 
@@ -31,26 +31,25 @@
 //! construct a column vector with the specified number of n_elem
 template<typename eT>
 inline
-Col<eT>::Col(const u32 in_n_elem)
+Col<eT>::Col(const uword in_n_elem)
+  : Mat<eT>(in_n_elem, 1)
   {
   arma_extra_debug_sigprint();
   
   access::rw(Mat<eT>::vec_state) = 1;
-  
-  Mat<eT>::init(in_n_elem, 1);
   }
 
 
 
 template<typename eT>
 inline
-Col<eT>::Col(const u32 in_n_rows, const u32 in_n_cols)
+Col<eT>::Col(const uword in_n_rows, const uword in_n_cols)
   {
   arma_extra_debug_sigprint();
   
   access::rw(Mat<eT>::vec_state) = 1;
   
-  Mat<eT>::init(in_n_rows, in_n_cols);
+  Mat<eT>::init_warm(in_n_rows, in_n_cols);
   }
 
 
@@ -133,9 +132,50 @@
 
 
 
+#if defined(ARMA_USE_CXX11)
+
 template<typename eT>
 inline
+Col<eT>::Col(const std::initializer_list<eT>& list)
+  {
+  arma_extra_debug_sigprint();
+  
+  access::rw(Mat<eT>::vec_state) = 2;
+  
+  Mat<eT>::operator=(list);
+  
+  std::swap( access::rw(Mat<eT>::n_rows), access::rw(Mat<eT>::n_cols) );
+  
+  access::rw(Mat<eT>::vec_state) = 1;
+  }
+
+
+
+template<typename eT>
+inline
 const Col<eT>&
+Col<eT>::operator=(const std::initializer_list<eT>& list)
+  {
+  arma_extra_debug_sigprint();
+  
+  access::rw(Mat<eT>::vec_state) = 2;
+  
+  Mat<eT>::operator=(list);
+  
+  std::swap( access::rw(Mat<eT>::n_rows), access::rw(Mat<eT>::n_cols) );
+  
+  access::rw(Mat<eT>::vec_state) = 1;
+  
+  return *this;
+  }
+
+#endif
+
+
+
+template<typename eT>
+inline
+const Col<eT>&
 Col<eT>::operator=(const eT val)
   {
   arma_extra_debug_sigprint();
@@ -179,7 +219,7 @@
 //! construct a column vector from a given auxiliary array of eTs
 template<typename eT>
 inline
-Col<eT>::Col(eT* aux_mem, const u32 aux_length, const bool copy_aux_mem, const bool strict)
+Col<eT>::Col(eT* aux_mem, const uword aux_length, const bool copy_aux_mem, const bool strict)
   : Mat<eT>(aux_mem, aux_length, 1, copy_aux_mem, strict)
   {
   arma_extra_debug_sigprint();
@@ -192,7 +232,7 @@
 //! construct a column vector from a given auxiliary array of eTs
 template<typename eT>
 inline
-Col<eT>::Col(const eT* aux_mem, const u32 aux_length)
+Col<eT>::Col(const eT* aux_mem, const uword aux_length)
   : Mat<eT>(aux_mem, aux_length, 1)
   {
   arma_extra_debug_sigprint();
@@ -289,7 +329,7 @@
 template<typename eT>
 arma_inline
 eT&
-Col<eT>::row(const u32 row_num)
+Col<eT>::row(const uword row_num)
   {
   arma_debug_check( (row_num >= Mat<eT>::n_rows), "Col::row(): out of bounds" );
   
@@ -301,7 +341,7 @@
 template<typename eT>
 arma_inline
 eT
-Col<eT>::row(const u32 row_num) const
+Col<eT>::row(const uword row_num) const
   {
   arma_debug_check( (row_num >= Mat<eT>::n_rows), "Col::row(): out of bounds" );
   
@@ -313,13 +353,13 @@
 template<typename eT>
 arma_inline
 subview_col<eT>
-Col<eT>::rows(const u32 in_row1, const u32 in_row2)
+Col<eT>::rows(const uword in_row1, const uword in_row2)
   {
   arma_extra_debug_sigprint();
   
   arma_debug_check( ( (in_row1 > in_row2) || (in_row2 >= Mat<eT>::n_rows) ), "Col::rows(): indices out of bounds or incorrectly used");
   
-  const u32 subview_n_rows = in_row2 - in_row1 + 1;
+  const uword subview_n_rows = in_row2 - in_row1 + 1;
   
   return subview_col<eT>(*this, 0, in_row1, subview_n_rows);
   }
@@ -329,13 +369,13 @@
 template<typename eT>
 arma_inline
 const subview_col<eT>
-Col<eT>::rows(const u32 in_row1, const u32 in_row2) const
+Col<eT>::rows(const uword in_row1, const uword in_row2) const
   {
   arma_extra_debug_sigprint();
   
   arma_debug_check( ( (in_row1 > in_row2) || (in_row2 >= Mat<eT>::n_rows) ), "Col::rows(): indices out of bounds or incorrectly used");
   
-  const u32 subview_n_rows = in_row2 - in_row1 + 1;
+  const uword subview_n_rows = in_row2 - in_row1 + 1;
   
   return subview_col<eT>(*this, 0, in_row1, subview_n_rows);
   }
@@ -345,13 +385,13 @@
 template<typename eT>
 arma_inline
 subview_col<eT>
-Col<eT>::subvec(const u32 in_row1, const u32 in_row2)
+Col<eT>::subvec(const uword in_row1, const uword in_row2)
   {
   arma_extra_debug_sigprint();
   
   arma_debug_check( ( (in_row1 > in_row2) || (in_row2 >= Mat<eT>::n_rows) ), "Col::subvec(): indices out of bounds or incorrectly used");
   
-  const u32 subview_n_rows = in_row2 - in_row1 + 1;
+  const uword subview_n_rows = in_row2 - in_row1 + 1;
   
   return subview_col<eT>(*this, 0, in_row1, subview_n_rows);
   }
@@ -361,13 +401,13 @@
 template<typename eT>
 arma_inline
 const subview_col<eT>
-Col<eT>::subvec(const u32 in_row1, const u32 in_row2) const
+Col<eT>::subvec(const uword in_row1, const uword in_row2) const
   {
   arma_extra_debug_sigprint();
   
   arma_debug_check( ( (in_row1 > in_row2) || (in_row2 >= Mat<eT>::n_rows) ), "Col::subvec(): indices out of bounds or incorrectly used");
   
-  const u32 subview_n_rows = in_row2 - in_row1 + 1;
+  const uword subview_n_rows = in_row2 - in_row1 + 1;
   
   return subview_col<eT>(*this, 0, in_row1, subview_n_rows);
   }
@@ -383,11 +423,11 @@
   
   const bool row_all = row_span.whole;
 
-  const u32 local_n_rows = Mat<eT>::n_rows;
+  const uword local_n_rows = Mat<eT>::n_rows;
   
-  const u32 in_row1       = row_all ? 0            : row_span.a;
-  const u32 in_row2       =                          row_span.b;
-  const u32 subvec_n_rows = row_all ? local_n_rows : in_row2 - in_row1 + 1;
+  const uword in_row1       = row_all ? 0            : row_span.a;
+  const uword in_row2       =                          row_span.b;
+  const uword subvec_n_rows = row_all ? local_n_rows : in_row2 - in_row1 + 1;
 
   arma_debug_check( ( row_all ? false : ((in_row1 > in_row2) || (in_row2 >= local_n_rows)) ), "Col::subvec(): indices out of bounds or incorrectly used");
   
@@ -405,11 +445,11 @@
   
   const bool row_all = row_span.whole;
 
-  const u32 local_n_rows = Mat<eT>::n_rows;
+  const uword local_n_rows = Mat<eT>::n_rows;
   
-  const u32 in_row1       = row_all ? 0            : row_span.a;
-  const u32 in_row2       =                          row_span.b;
-  const u32 subvec_n_rows = row_all ? local_n_rows : in_row2 - in_row1 + 1;
+  const uword in_row1       = row_all ? 0            : row_span.a;
+  const uword in_row2       =                          row_span.b;
+  const uword subvec_n_rows = row_all ? local_n_rows : in_row2 - in_row1 + 1;
 
   arma_debug_check( ( row_all ? false : ((in_row1 > in_row2) || (in_row2 >= local_n_rows)) ), "Col::subvec(): indices out of bounds or incorrectly used");
   
@@ -446,7 +486,7 @@
 template<typename eT>
 inline
 void
-Col<eT>::shed_row(const u32 row_num)
+Col<eT>::shed_row(const uword row_num)
   {
   arma_extra_debug_sigprint();
   
@@ -461,7 +501,7 @@
 template<typename eT>
 inline
 void
-Col<eT>::shed_rows(const u32 in_row1, const u32 in_row2)
+Col<eT>::shed_rows(const uword in_row1, const uword in_row2)
   {
   arma_extra_debug_sigprint();
   
@@ -471,8 +511,8 @@
     "Col::shed_rows(): indices out of bounds or incorrectly used"
     );
   
-  const u32 n_keep_front = in_row1;
-  const u32 n_keep_back  = Mat<eT>::n_rows - (in_row2 + 1);
+  const uword n_keep_front = in_row1;
+  const uword n_keep_back  = Mat<eT>::n_rows - (in_row2 + 1);
   
   Col<eT> X(n_keep_front + n_keep_back);
   
@@ -499,14 +539,14 @@
 template<typename eT>
 inline
 void
-Col<eT>::insert_rows(const u32 row_num, const u32 N, const bool set_to_zero)
+Col<eT>::insert_rows(const uword row_num, const uword N, const bool set_to_zero)
   {
   arma_extra_debug_sigprint();
   
-  const u32 t_n_rows = Mat<eT>::n_rows;
+  const uword t_n_rows = Mat<eT>::n_rows;
   
-  const u32 A_n_rows = row_num;
-  const u32 B_n_rows = t_n_rows - row_num;
+  const uword A_n_rows = row_num;
+  const uword B_n_rows = t_n_rows - row_num;
   
   // insertion at row_num == n_rows is in effect an append operation
   arma_debug_check( (row_num > t_n_rows), "Col::insert_rows(): out of bounds");
@@ -545,7 +585,7 @@
 template<typename T1>
 inline
 void
-Col<eT>::insert_rows(const u32 row_num, const Base<eT,T1>& X)
+Col<eT>::insert_rows(const uword row_num, const Base<eT,T1>& X)
   {
   arma_extra_debug_sigprint();
   
@@ -557,7 +597,7 @@
 template<typename eT>
 inline
 typename Col<eT>::row_iterator
-Col<eT>::begin_row(const u32 row_num)
+Col<eT>::begin_row(const uword row_num)
   {
   arma_extra_debug_sigprint();
   
@@ -571,7 +611,7 @@
 template<typename eT>
 inline
 typename Col<eT>::const_row_iterator
-Col<eT>::begin_row(const u32 row_num) const
+Col<eT>::begin_row(const uword row_num) const
   {
   arma_extra_debug_sigprint();
   
@@ -585,7 +625,7 @@
 template<typename eT>
 inline
 typename Col<eT>::row_iterator
-Col<eT>::end_row(const u32 row_num)
+Col<eT>::end_row(const uword row_num)
   {
   arma_extra_debug_sigprint();
   
@@ -599,7 +639,7 @@
 template<typename eT>
 inline
 typename Col<eT>::const_row_iterator
-Col<eT>::end_row(const u32 row_num) const
+Col<eT>::end_row(const uword row_num) const
   {
   arma_extra_debug_sigprint();
   
@@ -611,7 +651,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 arma_inline
 void
 Col<eT>::fixed<fixed_n_elem>::mem_setup()
@@ -629,7 +669,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 arma_inline
 void
 Col<eT>::fixed<fixed_n_elem>::change_to_row()
@@ -643,7 +683,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 arma_inline
 Col<eT>::fixed<fixed_n_elem>::fixed()
   {
@@ -655,7 +695,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 arma_inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const fixed<fixed_n_elem>& X)
   {
@@ -671,7 +711,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const subview_cube<eT>& X)
   {
@@ -685,7 +725,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 template<typename T1>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const Base<eT,T1>& A)
@@ -700,7 +740,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 template<typename T1, typename T2>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const Base<pod_type,T1>& A, const Base<pod_type,T2>& B)
@@ -715,7 +755,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(eT* aux_mem, const bool copy_aux_mem)
   {
@@ -744,7 +784,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const eT* aux_mem)
   {
@@ -761,7 +801,7 @@
 //! Col::operator=(text), to change vec_state as well as swapping n_rows and n_cols,
 //! and Mat::init(), to check that the given vector will not have a different size than fixed_n_elem.
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const char* text)
   {
@@ -780,7 +820,7 @@
 //! Col::operator=(text), to change vec_state as well as swapping n_rows and n_cols,
 //! and Mat::init(), to check that the given vector will not have a different size than fixed_n_elem.
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 Col<eT>::fixed<fixed_n_elem>::fixed(const std::string& text)
   {
@@ -796,7 +836,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 template<typename T1>
 const Col<eT>&
 Col<eT>::fixed<fixed_n_elem>::operator=(const Base<eT,T1>& A)
@@ -811,7 +851,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 const Col<eT>&
 Col<eT>::fixed<fixed_n_elem>::operator=(const eT val)
   {
@@ -825,7 +865,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 const Col<eT>&
 Col<eT>::fixed<fixed_n_elem>::operator=(const char* text)
   {
@@ -841,7 +881,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 const Col<eT>&
 Col<eT>::fixed<fixed_n_elem>::operator=(const std::string& text)
   {
@@ -857,7 +897,7 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 const Col<eT>&
 Col<eT>::fixed<fixed_n_elem>::operator=(const subview_cube<eT>& X)
   {
@@ -871,10 +911,10 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 subview_row<eT>
-Col<eT>::fixed<fixed_n_elem>::operator()(const u32 row_num, const span& col_span)
+Col<eT>::fixed<fixed_n_elem>::operator()(const uword row_num, const span& col_span)
   {
   arma_extra_debug_sigprint();
   
@@ -884,10 +924,10 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 const subview_row<eT>
-Col<eT>::fixed<fixed_n_elem>::operator()(const u32 row_num, const span& col_span) const
+Col<eT>::fixed<fixed_n_elem>::operator()(const uword row_num, const span& col_span) const
   {
   arma_extra_debug_sigprint();
   
@@ -897,10 +937,10 @@
 
 
 template<typename eT>
-template<u32 fixed_n_elem>
+template<uword fixed_n_elem>
 inline
 subview_col<eT>
-Col<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const u32 col_num)
+Col<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const uword col_num)
   {
   arma_extra_debug_sigprint();
   
@@ -910,10 +950,10 @@
 
 
 template<typename eT>
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rcpp -r 3360


More information about the Rcpp-commits mailing list