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

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue May 17 03:15:31 CEST 2011


Author: edd
Date: 2011-05-17 03:15:31 +0200 (Tue, 17 May 2011)
New Revision: 3028

Modified:
   pkg/RcppArmadillo/inst/include/armadillo
   pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/Row_meat.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_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/auxlib_meat.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/fn_det.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_elem.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_ones.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_trans.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/fn_zeros.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_join_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_cumsum_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_median_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_prod_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_stddev_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_sum_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_trimat_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/op_var_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/operator_times.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/podarray_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/subview_meat.hpp
   pkg/RcppArmadillo/inst/include/armadillo_bits/unwrap.hpp
Log:
commit three of Armadillo 1.99.1: modified files


Modified: pkg/RcppArmadillo/inst/include/armadillo
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo	2011-05-17 01:14:47 UTC (rev 3027)
+++ pkg/RcppArmadillo/inst/include/armadillo	2011-05-17 01:15:31 UTC (rev 3028)
@@ -105,9 +105,10 @@
   
   // preliminaries
   
-  #include "armadillo_bits/forward_proto.hpp"
+  #include "armadillo_bits/forward_bones.hpp"
   #include "armadillo_bits/arma_static_assert.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"
@@ -126,100 +127,101 @@
   #include "armadillo_bits/Base.hpp"
   #include "armadillo_bits/BaseCube.hpp"
   
-  #include "armadillo_bits/blas_proto.hpp"
-  #include "armadillo_bits/lapack_proto.hpp"
-  #include "armadillo_bits/atlas_proto.hpp"
+  #include "armadillo_bits/blas_bones.hpp"
+  #include "armadillo_bits/lapack_bones.hpp"
+  #include "armadillo_bits/atlas_bones.hpp"
   
-  #include "armadillo_bits/arrayops_proto.hpp"
-  #include "armadillo_bits/podarray_proto.hpp"
-  #include "armadillo_bits/auxlib_proto.hpp"
+  #include "armadillo_bits/arrayops_bones.hpp"
+  #include "armadillo_bits/podarray_bones.hpp"
+  #include "armadillo_bits/auxlib_bones.hpp"
   
-  #include "armadillo_bits/injector_proto.hpp"
+  #include "armadillo_bits/injector_bones.hpp"
   
-  #include "armadillo_bits/Mat_proto.hpp"
-  #include "armadillo_bits/Col_proto.hpp"
-  #include "armadillo_bits/Row_proto.hpp"
-  #include "armadillo_bits/Cube_proto.hpp"
+  #include "armadillo_bits/Mat_bones.hpp"
+  #include "armadillo_bits/Col_bones.hpp"
+  #include "armadillo_bits/Row_bones.hpp"
+  #include "armadillo_bits/Cube_bones.hpp"
   
   #include "armadillo_bits/typedef_fixed.hpp"
   
-  #include "armadillo_bits/field_proto.hpp"
-  #include "armadillo_bits/subview_proto.hpp"
-  #include "armadillo_bits/subview_elem1_proto.hpp"
-  #include "armadillo_bits/subview_field_proto.hpp"
-  #include "armadillo_bits/subview_cube_proto.hpp"
-  #include "armadillo_bits/diagview_proto.hpp"
+  #include "armadillo_bits/field_bones.hpp"
+  #include "armadillo_bits/subview_bones.hpp"
+  #include "armadillo_bits/subview_elem1_bones.hpp"
+  #include "armadillo_bits/subview_field_bones.hpp"
+  #include "armadillo_bits/subview_cube_bones.hpp"
+  #include "armadillo_bits/diagview_bones.hpp"
   
   
-  #include "armadillo_bits/diskio_proto.hpp"
-  #include "armadillo_bits/wall_clock_proto.hpp"
-  #include "armadillo_bits/running_stat_proto.hpp"
-  #include "armadillo_bits/running_stat_vec_proto.hpp"
+  #include "armadillo_bits/diskio_bones.hpp"
+  #include "armadillo_bits/wall_clock_bones.hpp"
+  #include "armadillo_bits/running_stat_bones.hpp"
+  #include "armadillo_bits/running_stat_vec_bones.hpp"
   
-  #include "armadillo_bits/Op_proto.hpp"
-  #include "armadillo_bits/OpCube_proto.hpp"
+  #include "armadillo_bits/Op_bones.hpp"
+  #include "armadillo_bits/OpCube_bones.hpp"
   
-  #include "armadillo_bits/eOp_proto.hpp"
-  #include "armadillo_bits/eOpCube_proto.hpp"
+  #include "armadillo_bits/eOp_bones.hpp"
+  #include "armadillo_bits/eOpCube_bones.hpp"
   
-  #include "armadillo_bits/mtOp_proto.hpp"
-  #include "armadillo_bits/mtOpCube_proto.hpp"
+  #include "armadillo_bits/mtOp_bones.hpp"
+  #include "armadillo_bits/mtOpCube_bones.hpp"
   
-  #include "armadillo_bits/Glue_proto.hpp"
-  #include "armadillo_bits/eGlue_proto.hpp"
-  #include "armadillo_bits/mtGlue_proto.hpp"
+  #include "armadillo_bits/Glue_bones.hpp"
+  #include "armadillo_bits/eGlue_bones.hpp"
+  #include "armadillo_bits/mtGlue_bones.hpp"
   
-  #include "armadillo_bits/GlueCube_proto.hpp"
-  #include "armadillo_bits/eGlueCube_proto.hpp"
-  #include "armadillo_bits/mtGlueCube_proto.hpp"
+  #include "armadillo_bits/GlueCube_bones.hpp"
+  #include "armadillo_bits/eGlueCube_bones.hpp"
+  #include "armadillo_bits/mtGlueCube_bones.hpp"
   
-  #include "armadillo_bits/eop_core_proto.hpp"
-  #include "armadillo_bits/eglue_core_proto.hpp"
+  #include "armadillo_bits/eop_core_bones.hpp"
+  #include "armadillo_bits/eglue_core_bones.hpp"
   
-  #include "armadillo_bits/op_diagmat_proto.hpp"
-  #include "armadillo_bits/op_diagvec_proto.hpp"
-  #include "armadillo_bits/op_dot_proto.hpp"
-  #include "armadillo_bits/op_inv_proto.hpp"
-  #include "armadillo_bits/op_htrans_proto.hpp"
-  #include "armadillo_bits/op_max_proto.hpp"
-  #include "armadillo_bits/op_min_proto.hpp"
-  #include "armadillo_bits/op_mean_proto.hpp"
-  #include "armadillo_bits/op_median_proto.hpp"
-  #include "armadillo_bits/op_sort_proto.hpp"
-  #include "armadillo_bits/op_sum_proto.hpp"
-  #include "armadillo_bits/op_stddev_proto.hpp"
-  #include "armadillo_bits/op_trans_proto.hpp"
-  #include "armadillo_bits/op_var_proto.hpp"
-  #include "armadillo_bits/op_repmat_proto.hpp"
-  #include "armadillo_bits/op_reshape_proto.hpp"
-  #include "armadillo_bits/op_cov_proto.hpp"
-  #include "armadillo_bits/op_cor_proto.hpp"
-  #include "armadillo_bits/op_shuffle_proto.hpp"
-  #include "armadillo_bits/op_prod_proto.hpp"
-  #include "armadillo_bits/op_pinv_proto.hpp"
-  #include "armadillo_bits/op_dotext_proto.hpp"
-  #include "armadillo_bits/op_flip_proto.hpp"
-  #include "armadillo_bits/op_princomp_proto.hpp"
-  #include "armadillo_bits/op_princomp_cov_proto.hpp"
-  #include "armadillo_bits/op_misc_proto.hpp"
-  #include "armadillo_bits/op_relational_proto.hpp"
-  #include "armadillo_bits/op_find_proto.hpp"
-  #include "armadillo_bits/op_chol_proto.hpp"
-  #include "armadillo_bits/op_cx_scalar_proto.hpp"
-  #include "armadillo_bits/op_trimat_proto.hpp"
-  #include "armadillo_bits/op_cumsum_proto.hpp"
+  #include "armadillo_bits/op_diagmat_bones.hpp"
+  #include "armadillo_bits/op_diagvec_bones.hpp"
+  #include "armadillo_bits/op_dot_bones.hpp"
+  #include "armadillo_bits/op_inv_bones.hpp"
+  #include "armadillo_bits/op_htrans_bones.hpp"
+  #include "armadillo_bits/op_max_bones.hpp"
+  #include "armadillo_bits/op_min_bones.hpp"
+  #include "armadillo_bits/op_mean_bones.hpp"
+  #include "armadillo_bits/op_median_bones.hpp"
+  #include "armadillo_bits/op_sort_bones.hpp"
+  #include "armadillo_bits/op_sum_bones.hpp"
+  #include "armadillo_bits/op_stddev_bones.hpp"
+  #include "armadillo_bits/op_strans_bones.hpp"
+  #include "armadillo_bits/op_var_bones.hpp"
+  #include "armadillo_bits/op_repmat_bones.hpp"
+  #include "armadillo_bits/op_reshape_bones.hpp"
+  #include "armadillo_bits/op_cov_bones.hpp"
+  #include "armadillo_bits/op_cor_bones.hpp"
+  #include "armadillo_bits/op_shuffle_bones.hpp"
+  #include "armadillo_bits/op_prod_bones.hpp"
+  #include "armadillo_bits/op_pinv_bones.hpp"
+  #include "armadillo_bits/op_dotext_bones.hpp"
+  #include "armadillo_bits/op_flip_bones.hpp"
+  #include "armadillo_bits/op_princomp_bones.hpp"
+  #include "armadillo_bits/op_princomp_cov_bones.hpp"
+  #include "armadillo_bits/op_misc_bones.hpp"
+  #include "armadillo_bits/op_relational_bones.hpp"
+  #include "armadillo_bits/op_find_bones.hpp"
+  #include "armadillo_bits/op_chol_bones.hpp"
+  #include "armadillo_bits/op_cx_scalar_bones.hpp"
+  #include "armadillo_bits/op_trimat_bones.hpp"
+  #include "armadillo_bits/op_cumsum_bones.hpp"
+  #include "armadillo_bits/op_symmat_bones.hpp"
   
-  #include "armadillo_bits/glue_times_proto.hpp"
-  #include "armadillo_bits/glue_mixed_proto.hpp"
-  #include "armadillo_bits/glue_cov_proto.hpp"
-  #include "armadillo_bits/glue_cor_proto.hpp"
-  #include "armadillo_bits/glue_kron_proto.hpp"
-  #include "armadillo_bits/glue_cross_proto.hpp"
-  #include "armadillo_bits/glue_join_proto.hpp"
-  #include "armadillo_bits/glue_relational_proto.hpp"
-  #include "armadillo_bits/glue_solve_proto.hpp"
-  #include "armadillo_bits/glue_conv_proto.hpp"
-  #include "armadillo_bits/glue_toeplitz_proto.hpp"
+  #include "armadillo_bits/glue_times_bones.hpp"
+  #include "armadillo_bits/glue_mixed_bones.hpp"
+  #include "armadillo_bits/glue_cov_bones.hpp"
+  #include "armadillo_bits/glue_cor_bones.hpp"
+  #include "armadillo_bits/glue_kron_bones.hpp"
+  #include "armadillo_bits/glue_cross_bones.hpp"
+  #include "armadillo_bits/glue_join_bones.hpp"
+  #include "armadillo_bits/glue_relational_bones.hpp"
+  #include "armadillo_bits/glue_solve_bones.hpp"
+  #include "armadillo_bits/glue_conv_bones.hpp"
+  #include "armadillo_bits/glue_toeplitz_bones.hpp"
   
   //
   // debugging functions
@@ -268,7 +270,7 @@
   //
   // ostream
   
-  #include "armadillo_bits/arma_ostream_proto.hpp"
+  #include "armadillo_bits/arma_ostream_bones.hpp"
   #include "armadillo_bits/arma_ostream_meat.hpp"
   
   
@@ -314,6 +316,7 @@
   #include "armadillo_bits/fn_lu.hpp"
   #include "armadillo_bits/fn_zeros.hpp"
   #include "armadillo_bits/fn_ones.hpp"
+  #include "armadillo_bits/fn_eye.hpp"
   #include "armadillo_bits/fn_misc.hpp"
   #include "armadillo_bits/fn_elem.hpp"
   #include "armadillo_bits/fn_norm.hpp"
@@ -327,7 +330,7 @@
   #include "armadillo_bits/fn_var.hpp"
   #include "armadillo_bits/fn_sort.hpp"
   #include "armadillo_bits/fn_sort_index.hpp"
-  #include "armadillo_bits/fn_htrans.hpp"
+  #include "armadillo_bits/fn_strans.hpp"
   #include "armadillo_bits/fn_chol.hpp"
   #include "armadillo_bits/fn_qr.hpp"
   #include "armadillo_bits/fn_svd.hpp"
@@ -354,12 +357,14 @@
   #include "armadillo_bits/fn_toeplitz.hpp"
   #include "armadillo_bits/fn_trimat.hpp"
   #include "armadillo_bits/fn_cumsum.hpp"
+  #include "armadillo_bits/fn_symmat.hpp"
+  #include "armadillo_bits/fn_syl_lyap.hpp"
   
   //
   // class meat
   
+  #include "armadillo_bits/gemv.hpp"
   #include "armadillo_bits/gemm.hpp"
-  #include "armadillo_bits/gemv.hpp"
   #include "armadillo_bits/gemm_mixed.hpp"
   
   #include "armadillo_bits/eop_core_meat.hpp"
@@ -399,7 +404,7 @@
   #include "armadillo_bits/op_sort_meat.hpp"
   #include "armadillo_bits/op_sum_meat.hpp"
   #include "armadillo_bits/op_stddev_meat.hpp"
-  #include "armadillo_bits/op_trans_meat.hpp"
+  #include "armadillo_bits/op_strans_meat.hpp"
   #include "armadillo_bits/op_var_meat.hpp"
   #include "armadillo_bits/op_repmat_meat.hpp"
   #include "armadillo_bits/op_reshape_meat.hpp"
@@ -419,6 +424,7 @@
   #include "armadillo_bits/op_cx_scalar_meat.hpp"
   #include "armadillo_bits/op_trimat_meat.hpp"
   #include "armadillo_bits/op_cumsum_meat.hpp"
+  #include "armadillo_bits/op_symmat_meat.hpp"
   
   #include "armadillo_bits/glue_times_meat.hpp"
   #include "armadillo_bits/glue_mixed_meat.hpp"

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp	2011-05-17 01:14:47 UTC (rev 3027)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Col_meat.hpp	2011-05-17 01:15:31 UTC (rev 3028)
@@ -549,24 +549,12 @@
   {
   arma_extra_debug_sigprint_this(this);
   
-  if(fixed_n_elem > 0)
-    {
-    access::rw(Mat<eT>::n_rows)    = fixed_n_elem;
-    access::rw(Mat<eT>::n_cols)    = 1;
-    access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
-    access::rw(Mat<eT>::vec_state) = 1;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
-    }
-  else
-    {
-    access::rw(Mat<eT>::n_rows)    = 0;
-    access::rw(Mat<eT>::n_cols)    = 0;
-    access::rw(Mat<eT>::n_elem)    = 0;
-    access::rw(Mat<eT>::vec_state) = 1;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = 0;
-    }
+  access::rw(Mat<eT>::n_rows)    = fixed_n_elem;
+  access::rw(Mat<eT>::n_cols)    = 1;
+  access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
+  access::rw(Mat<eT>::vec_state) = 1;
+  access::rw(Mat<eT>::mem_state) = 3;
+  access::rw(Mat<eT>::mem)       = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
   }
 
 
@@ -578,33 +566,21 @@
   {
   arma_extra_debug_sigprint_this(this);
   
-  if(fixed_n_elem > 0)
+  access::rw(Mat<eT>::n_rows)    = fixed_n_elem;
+  access::rw(Mat<eT>::n_cols)    = 1;
+  access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
+  access::rw(Mat<eT>::vec_state) = 1;
+  access::rw(Mat<eT>::mem_state) = 3;
+  
+  if(copy_aux_mem == true)
     {
-    access::rw(Mat<eT>::n_rows)    = fixed_n_elem;
-    access::rw(Mat<eT>::n_cols)    = 1;
-    access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
-    access::rw(Mat<eT>::vec_state) = 1;
-    access::rw(Mat<eT>::mem_state) = 3;
+    access::rw(Mat<eT>::mem) = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
     
-    if(copy_aux_mem == true)
-      {
-      access::rw(Mat<eT>::mem) = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
-      
-      arrayops::copy( const_cast<eT*>(Mat<eT>::mem), aux_mem, fixed_n_elem );
-      }
-    else
-      {
-      access::rw(Mat<eT>::mem) = aux_mem;
-      }
+    arrayops::copy( const_cast<eT*>(Mat<eT>::mem), aux_mem, fixed_n_elem );
     }
   else
     {
-    access::rw(Mat<eT>::n_rows)    = 0;
-    access::rw(Mat<eT>::n_cols)    = 0;
-    access::rw(Mat<eT>::n_elem)    = 0;
-    access::rw(Mat<eT>::vec_state) = 1;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = 0;
+    access::rw(Mat<eT>::mem) = aux_mem;
     }
   }
 
@@ -622,6 +598,184 @@
 
 
 
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+subview_row<eT>
+Col<eT>::fixed<fixed_n_elem>::operator()(const u32 row_num, const span& col_span)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_num, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+const subview_row<eT>
+Col<eT>::fixed<fixed_n_elem>::operator()(const u32 row_num, const span& col_span) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_num, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+subview_col<eT>
+Col<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const u32 col_num)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_num);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+const subview_col<eT>
+Col<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const u32 col_num) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_num);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+subview<eT>
+Col<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const span& col_span)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+const subview<eT>
+Col<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const span& col_span) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Col<eT>::fixed<fixed_n_elem>::at(const u32 i)
+  {
+  return access::rw(Mat<eT>::mem[i]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Col<eT>::fixed<fixed_n_elem>::at(const u32 i) const
+  {
+  return Mat<eT>::mem[i];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Col<eT>::fixed<fixed_n_elem>::operator() (const u32 i)
+  {
+  arma_debug_check( (i >= fixed_n_elem), "Col::fixed::operator(): out of bounds");
+  return access::rw(Mat<eT>::mem[i]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Col<eT>::fixed<fixed_n_elem>::operator() (const u32 i) const
+  {
+  arma_debug_check( (i >= fixed_n_elem), "Col::fixed::operator(): out of bounds");
+  return Mat<eT>::mem[i];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Col<eT>::fixed<fixed_n_elem>::at(const u32 in_row, const u32 in_col)
+  {
+  return access::rw(Mat<eT>::mem[in_row]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Col<eT>::fixed<fixed_n_elem>::at(const u32 in_row, const u32 in_col) const
+  {
+  return Mat<eT>::mem[in_row];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Col<eT>::fixed<fixed_n_elem>::operator() (const u32 in_row, const u32 in_col)
+  {
+  arma_debug_check( ((in_row >= fixed_n_elem) || (in_col >= 1)), "Col::fixed::operator(): out of bounds" );
+  return access::rw(Mat<eT>::mem[in_row]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Col<eT>::fixed<fixed_n_elem>::operator() (const u32 in_row, const u32 in_col) const
+  {
+  arma_debug_check( ((in_row >= fixed_n_elem) || (in_col >= 1)), "Col::fixed::operator(): out of bounds" );
+  return Mat<eT>::mem[in_row];
+  }
+
+
+
 #ifdef ARMA_EXTRA_COL_MEAT
   #include ARMA_INCFILE_WRAP(ARMA_EXTRA_COL_MEAT)
 #endif

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp	2011-05-17 01:14:47 UTC (rev 3027)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Mat_meat.hpp	2011-05-17 01:15:31 UTC (rev 3028)
@@ -111,6 +111,18 @@
       "Mat::init(): object is a row or column vector; requested size is not compatible"
       );
     
+    
+    // ensure that n_elem can hold the result of (n_rows * n_cols);
+    // on systems where sizeof(u32)*CHAR_BIT > 32,
+    // the code below in effect also checks for in_n_rows > 0xFFFFFFFF
+    arma_debug_check
+      (
+      // (double(in_n_rows) * double(in_n_cols)) > double(0xFFFFFFFF), 
+      ( 0xFFFFFFFF / ((in_n_rows > 0) ? in_n_rows : 1) ) < in_n_cols,
+      "Mat::init(): requested size is too large"
+      );
+    
+    
     const u32 old_n_elem = n_elem;
     const u32 new_n_elem = in_n_rows * in_n_cols;
     
@@ -158,13 +170,6 @@
       access::rw(n_cols)    = in_n_cols;
       access::rw(mem_state) = 0;
       }
-    
-    
-    if(new_n_elem == 0)
-      {
-      access::rw(n_rows) = 0;
-      access::rw(n_cols) = 0;
-      }
     }
   }
 
@@ -2090,15 +2095,22 @@
   const u32 row_offset = (in_id < 0) ? u32(-in_id) : 0;
   const u32 col_offset = (in_id > 0) ? u32( in_id) : 0;
   
-  arma_debug_check
-    (
-    (row_offset >= n_rows) || (col_offset >= n_cols),
-    "Mat::diag(): requested diagonal out of bounds"
-    );
-  
-  const u32 len = (std::min)(n_rows - row_offset, n_cols - col_offset);
-  
-  return diagview<eT>(*this, row_offset, col_offset, len);
+  if(n_elem > 0)
+    {
+    arma_debug_check
+      (
+      (row_offset >= n_rows) || (col_offset >= n_cols),
+      "Mat::diag(): requested diagonal out of bounds"
+      );
+    
+    const u32 len = (std::min)(n_rows - row_offset, n_cols - col_offset);
+    
+    return diagview<eT>(*this, row_offset, col_offset, len);
+    }
+  else
+    {
+    return diagview<eT>(*this, 0, 0, 0);
+    }
   }
 
 
@@ -3448,7 +3460,7 @@
 bool
 Mat<eT>::is_square() const
   {
-  return ( (n_rows == n_cols) && (n_elem > 0) );
+  return (n_rows == n_cols);
   }
 
 
@@ -3691,7 +3703,7 @@
   arma_extra_debug_sigprint();
   
   Mat<eT> tmp;
-  op_trans::apply_noalias(tmp, *this);
+  op_strans::apply_noalias(tmp, *this);
   
   tmp.print(extra_text);
   }
@@ -3710,7 +3722,7 @@
   arma_extra_debug_sigprint();
   
   Mat<eT> tmp;
-  op_trans::apply_noalias(tmp, *this);
+  op_strans::apply_noalias(tmp, *this);
   
   tmp.print(user_stream, extra_text);
   }
@@ -3779,7 +3791,7 @@
   arma_extra_debug_sigprint();
   
   Mat<eT> tmp;
-  op_trans::apply_noalias(tmp, *this);
+  op_strans::apply_noalias(tmp, *this);
   
   tmp.raw_print(extra_text);
   }
@@ -3798,7 +3810,7 @@
   arma_extra_debug_sigprint();
   
   Mat<eT> tmp;
-  op_trans::apply_noalias(tmp, *this);
+  op_strans::apply_noalias(tmp, *this);
   
   tmp.raw_print(user_stream, extra_text);
   }
@@ -4899,24 +4911,12 @@
   {
   arma_extra_debug_sigprint_this(this);
   
-  if(fixed_n_elem > 0)
-    {
-    access::rw(Mat<eT>::n_rows)    = fixed_n_rows;
-    access::rw(Mat<eT>::n_cols)    = fixed_n_cols;
-    access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
-    access::rw(Mat<eT>::vec_state) = 0;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : mem_local;
-    }
-  else
-    {
-    access::rw(Mat<eT>::n_rows)    = 0;
-    access::rw(Mat<eT>::n_cols)    = 0;
-    access::rw(Mat<eT>::n_elem)    = 0;
-    access::rw(Mat<eT>::vec_state) = 0;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = 0;
-    }
+  access::rw(Mat<eT>::n_rows)    = fixed_n_rows;
+  access::rw(Mat<eT>::n_cols)    = fixed_n_cols;
+  access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
+  access::rw(Mat<eT>::vec_state) = 0;
+  access::rw(Mat<eT>::mem_state) = 3;
+  access::rw(Mat<eT>::mem)       = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : mem_local;
   }
 
 
@@ -4928,33 +4928,21 @@
   {
   arma_extra_debug_sigprint_this(this);
   
-  if(fixed_n_elem > 0)
+  access::rw(Mat<eT>::n_rows)    = fixed_n_rows;
+  access::rw(Mat<eT>::n_cols)    = fixed_n_cols;
+  access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
+  access::rw(Mat<eT>::vec_state) = 0;
+  access::rw(Mat<eT>::mem_state) = 3;
+  
+  if(copy_aux_mem == true)
     {
-    access::rw(Mat<eT>::n_rows)    = fixed_n_rows;
-    access::rw(Mat<eT>::n_cols)    = fixed_n_cols;
-    access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
-    access::rw(Mat<eT>::vec_state) = 0;
-    access::rw(Mat<eT>::mem_state) = 3;
+    access::rw(Mat<eT>::mem) = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : mem_local;
     
-    if(copy_aux_mem == true)
-      {
-      access::rw(Mat<eT>::mem) = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : mem_local;
-      
-      arrayops::copy( const_cast<eT*>(Mat<eT>::mem), aux_mem, fixed_n_elem );
-      }
-    else
-      {
-      access::rw(Mat<eT>::mem) = aux_mem;
-      }
+    arrayops::copy( const_cast<eT*>(Mat<eT>::mem), aux_mem, fixed_n_elem );
     }
   else
     {
-    access::rw(Mat<eT>::n_rows)    = 0;
-    access::rw(Mat<eT>::n_cols)    = 0;
-    access::rw(Mat<eT>::n_elem)    = 0;
-    access::rw(Mat<eT>::vec_state) = 0;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = 0;
+    access::rw(Mat<eT>::mem) = aux_mem;
     }
   }
 
@@ -4972,6 +4960,184 @@
 
 
 
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+inline
+subview_row<eT>
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator()(const u32 row_num, const span& col_span)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_num, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+inline
+const subview_row<eT>
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator()(const u32 row_num, const span& col_span) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_num, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+inline
+subview_col<eT>
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator()(const span& row_span, const u32 col_num)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_num);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+inline
+const subview_col<eT>
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator()(const span& row_span, const u32 col_num) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_num);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+inline
+subview<eT>
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator()(const span& row_span, const span& col_span)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+inline
+const subview<eT>
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator()(const span& row_span, const span& col_span) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT&
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::at(const u32 i)
+  {
+  return access::rw(Mat<eT>::mem[i]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::at(const u32 i) const
+  {
+  return Mat<eT>::mem[i];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT&
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator() (const u32 i)
+  {
+  arma_debug_check( (i >= fixed_n_elem), "Mat::fixed::operator(): out of bounds");
+  return access::rw(Mat<eT>::mem[i]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator() (const u32 i) const
+  {
+  arma_debug_check( (i >= fixed_n_elem), "Mat::fixed::operator(): out of bounds");
+  return Mat<eT>::mem[i];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT&
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::at(const u32 in_row, const u32 in_col)
+  {
+  return access::rw(Mat<eT>::mem[in_row + in_col*fixed_n_rows]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::at(const u32 in_row, const u32 in_col) const
+  {
+  return Mat<eT>::mem[in_row + in_col*fixed_n_rows];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT&
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator() (const u32 in_row, const u32 in_col)
+  {
+  arma_debug_check( ((in_row >= fixed_n_rows) || (in_col >= fixed_n_cols)), "Mat::fixed::operator(): out of bounds");
+  return access::rw(Mat<eT>::mem[in_row + in_col*fixed_n_rows]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_rows, u32 fixed_n_cols>
+arma_inline
+arma_warn_unused
+eT
+Mat<eT>::fixed<fixed_n_rows, fixed_n_cols>::operator() (const u32 in_row, const u32 in_col) const
+  {
+  arma_debug_check( ((in_row >= fixed_n_rows) || (in_col >= fixed_n_cols)), "Mat::fixed::operator(): out of bounds");
+  return Mat<eT>::mem[in_row + in_col*fixed_n_rows];
+  }
+
+
+
 //! prefix ++
 template<typename eT>
 arma_inline

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/Row_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/Row_meat.hpp	2011-05-17 01:14:47 UTC (rev 3027)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/Row_meat.hpp	2011-05-17 01:15:31 UTC (rev 3028)
@@ -524,24 +524,12 @@
   {
   arma_extra_debug_sigprint_this(this);
   
-  if(fixed_n_elem > 0)
-    {
-    access::rw(Mat<eT>::n_rows)    = 1;
-    access::rw(Mat<eT>::n_cols)    = fixed_n_elem;
-    access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
-    access::rw(Mat<eT>::vec_state) = 2;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
-    }
-  else
-    {
-    access::rw(Mat<eT>::n_rows)    = 0;
-    access::rw(Mat<eT>::n_cols)    = 0;
-    access::rw(Mat<eT>::n_elem)    = 0;
-    access::rw(Mat<eT>::vec_state) = 2;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = 0;
-    }
+  access::rw(Mat<eT>::n_rows)    = 1;
+  access::rw(Mat<eT>::n_cols)    = fixed_n_elem;
+  access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
+  access::rw(Mat<eT>::vec_state) = 2;
+  access::rw(Mat<eT>::mem_state) = 3;
+  access::rw(Mat<eT>::mem)       = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
   }
 
 
@@ -553,33 +541,21 @@
   {
   arma_extra_debug_sigprint_this(this);
   
-  if(fixed_n_elem > 0)
+  access::rw(Mat<eT>::n_rows)    = 1;
+  access::rw(Mat<eT>::n_cols)    = fixed_n_elem;
+  access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
+  access::rw(Mat<eT>::vec_state) = 2;
+  access::rw(Mat<eT>::mem_state) = 3;
+  
+  if(copy_aux_mem == true)
     {
-    access::rw(Mat<eT>::n_rows)    = 1;
-    access::rw(Mat<eT>::n_cols)    = fixed_n_elem;
-    access::rw(Mat<eT>::n_elem)    = fixed_n_elem;
-    access::rw(Mat<eT>::vec_state) = 2;
-    access::rw(Mat<eT>::mem_state) = 3;
+    access::rw(Mat<eT>::mem) = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
     
-    if(copy_aux_mem == true)
-      {
-      access::rw(Mat<eT>::mem) = (fixed_n_elem > arma_config::mat_prealloc) ? mem_local_extra : Mat<eT>::mem_local;
-      
-      arrayops::copy( const_cast<eT*>(Mat<eT>::mem), aux_mem, fixed_n_elem );
-      }
-    else
-      {
-      access::rw(Mat<eT>::mem) = aux_mem;
-      }
+    arrayops::copy( const_cast<eT*>(Mat<eT>::mem), aux_mem, fixed_n_elem );
     }
   else
     {
-    access::rw(Mat<eT>::n_rows)    = 0;
-    access::rw(Mat<eT>::n_cols)    = 0;
-    access::rw(Mat<eT>::n_elem)    = 0;
-    access::rw(Mat<eT>::vec_state) = 2;
-    access::rw(Mat<eT>::mem_state) = 3;
-    access::rw(Mat<eT>::mem)       = 0;
+    access::rw(Mat<eT>::mem) = aux_mem;
     }
   }
 
@@ -597,6 +573,184 @@
 
 
 
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+subview_row<eT>
+Row<eT>::fixed<fixed_n_elem>::operator()(const u32 row_num, const span& col_span)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_num, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+const subview_row<eT>
+Row<eT>::fixed<fixed_n_elem>::operator()(const u32 row_num, const span& col_span) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_num, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+subview_col<eT>
+Row<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const u32 col_num)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_num);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+const subview_col<eT>
+Row<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const u32 col_num) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_num);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+subview<eT>
+Row<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const span& col_span)
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+inline
+const subview<eT>
+Row<eT>::fixed<fixed_n_elem>::operator()(const span& row_span, const span& col_span) const
+  {
+  arma_extra_debug_sigprint();
+  
+  return Mat<eT>::operator()(row_span, col_span);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Row<eT>::fixed<fixed_n_elem>::at(const u32 i)
+  {
+  return access::rw(Mat<eT>::mem[i]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Row<eT>::fixed<fixed_n_elem>::at(const u32 i) const
+  {
+  return Mat<eT>::mem[i];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Row<eT>::fixed<fixed_n_elem>::operator() (const u32 i)
+  {
+  arma_debug_check( (i >= fixed_n_elem), "Mat::fixed::operator(): out of bounds");
+  return access::rw(Mat<eT>::mem[i]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Row<eT>::fixed<fixed_n_elem>::operator() (const u32 i) const
+  {
+  arma_debug_check( (i >= fixed_n_elem), "Mat::fixed::operator(): out of bounds");
+  return Mat<eT>::mem[i];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Row<eT>::fixed<fixed_n_elem>::at(const u32 in_row, const u32 in_col)
+  {
+  return access::rw(Mat<eT>::mem[in_col]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Row<eT>::fixed<fixed_n_elem>::at(const u32 in_row, const u32 in_col) const
+  {
+  return Mat<eT>::mem[in_col];
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT&
+Row<eT>::fixed<fixed_n_elem>::operator() (const u32 in_row, const u32 in_col)
+  {
+  arma_debug_check( ((in_row >= 1) || (in_col >= fixed_n_elem)), "Row::fixed::operator(): out of bounds" );
+  return access::rw(Mat<eT>::mem[in_col]);
+  }
+
+
+
+template<typename eT>
+template<u32 fixed_n_elem>
+arma_inline
+arma_warn_unused
+eT
+Row<eT>::fixed<fixed_n_elem>::operator() (const u32 in_row, const u32 in_col) const
+  {
+  arma_debug_check( ((in_row >= 1) || (in_col >= fixed_n_elem)), "Row::fixed::operator(): out of bounds" );
+  return Mat<eT>::mem[in_col];
+  }
+
+
+
 #ifdef ARMA_EXTRA_ROW_MEAT
   #include ARMA_INCFILE_WRAP(ARMA_EXTRA_ROW_MEAT)
 #endif

Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_meat.hpp	2011-05-17 01:14:47 UTC (rev 3027)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_meat.hpp	2011-05-17 01:15:31 UTC (rev 3028)
@@ -215,38 +215,45 @@
   const u32 m_n_rows = m.n_rows;
   const u32 m_n_cols = m.n_cols;
   
-  if(m_n_cols > 0)
[TRUNCATED]

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


More information about the Rcpp-commits mailing list