[Rcpp-commits] r3563 - in pkg/RcppArmadillo: . inst inst/include/armadillo_bits
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Mon Apr 2 21:58:30 CEST 2012
Author: edd
Date: 2012-04-02 21:58:30 +0200 (Mon, 02 Apr 2012)
New Revision: 3563
Modified:
pkg/RcppArmadillo/ChangeLog
pkg/RcppArmadillo/DESCRIPTION
pkg/RcppArmadillo/inst/NEWS
pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.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/op_dot_bones.hpp
pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_meat.hpp
pkg/RcppArmadillo/inst/include/armadillo_bits/op_repmat_meat.hpp
pkg/RcppArmadillo/inst/include/armadillo_bits/strip.hpp
pkg/RcppArmadillo/inst/include/armadillo_bits/subview_bones.hpp
pkg/RcppArmadillo/inst/include/armadillo_bits/subview_meat.hpp
pkg/RcppArmadillo/inst/include/armadillo_bits/unwrap.hpp
Log:
RcppArmadillo 0.2.39 with Armadillo 2.99.3
Modified: pkg/RcppArmadillo/ChangeLog
===================================================================
--- pkg/RcppArmadillo/ChangeLog 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/ChangeLog 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1,3 +1,9 @@
+2012-04-02 Dirk Eddelbuettel <edd at debian.org>
+
+ * DESCRIPTION: Release 0.2.39
+
+ * inst/include/*: Upgraded to new test release 2.99.3 of Armadillo
+
2012-03-28 Dirk Eddelbuettel <edd at debian.org>
* DESCRIPTION: Release 0.2.38
Modified: pkg/RcppArmadillo/DESCRIPTION
===================================================================
--- pkg/RcppArmadillo/DESCRIPTION 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/DESCRIPTION 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1,7 +1,7 @@
Package: RcppArmadillo
Type: Package
Title: Rcpp integration for Armadillo templated linear algebra library
-Version: 0.2.38
+Version: 0.2.39
Date: $Date$
Author: Romain Francois, Dirk Eddelbuettel and Doug Bates
Maintainer: Romain Francois, Dirk Eddelbuettel and Doug Bates <RcppArmadillo-authors at r-enthusiasts.com>
@@ -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 2.99.2). Thus users do not need to
+ Armadillo library (currently version 2.99.3). 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-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/NEWS 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1,3 +1,10 @@
+0.2.39 2012-04-02
+
+ o Upgraded to Armadillo release 2.99.3 "Antarctic Chilli Ranch (Beta 3)"
+
+ * faster repmat()
+ * workarounds for braindead compilers (eg. Visual Studio)
+
0.2.38 2012-03-28
o Upgraded to Armadillo release 2.99.2 "Antarctic Chilli Ranch (Beta 2)"
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -18,8 +18,8 @@
#define ARMA_VERSION_MAJOR 2
#define ARMA_VERSION_MINOR 99
-#define ARMA_VERSION_PATCH 2
-#define ARMA_VERSION_NAME "Antarctic Chilli Ranch (Beta 2)"
+#define ARMA_VERSION_PATCH 3
+#define ARMA_VERSION_NAME "Antarctic Chilli Ranch (Beta 3)"
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_bones.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_bones.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -35,6 +35,23 @@
+template<bool is_eT_blas_type>
+struct glue_times_redirect2_helper
+ {
+ template<typename T1, typename T2>
+ arma_hot inline static void apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X);
+ };
+
+
+template<>
+struct glue_times_redirect2_helper<true>
+ {
+ template<typename T1, typename T2>
+ arma_hot inline static void apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X);
+ };
+
+
+
template<uword N>
struct glue_times_redirect
{
@@ -47,10 +64,7 @@
struct glue_times_redirect<2>
{
template<typename T1, typename T2>
- arma_hot inline static void apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X, const typename arma_blas_type_only<typename T1::elem_type>::result* junk = 0);
-
- template<typename T1, typename T2>
- arma_hot inline static void apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X, const typename arma_not_blas_type<typename T1::elem_type>::result* junk = 0);
+ arma_hot inline static void apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X);
};
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_meat.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/glue_times_meat.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -16,12 +16,12 @@
-template<uword N>
+template<bool is_eT_blas_type>
template<typename T1, typename T2>
arma_hot
inline
void
-glue_times_redirect<N>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X)
+glue_times_redirect2_helper<is_eT_blas_type>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X)
{
arma_extra_debug_sigprint();
@@ -52,10 +52,9 @@
arma_hot
inline
void
-glue_times_redirect<2>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X, const typename arma_blas_type_only<typename T1::elem_type>::result* junk)
+glue_times_redirect2_helper<true>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X)
{
arma_extra_debug_sigprint();
- arma_ignore(junk);
typedef typename T1::elem_type eT;
@@ -100,14 +99,14 @@
+template<uword N>
template<typename T1, typename T2>
arma_hot
inline
void
-glue_times_redirect<2>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X, const typename arma_not_blas_type<typename T1::elem_type>::result* junk)
+glue_times_redirect<N>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X)
{
arma_extra_debug_sigprint();
- arma_ignore(junk);
typedef typename T1::elem_type eT;
@@ -132,6 +131,21 @@
+template<typename T1, typename T2>
+arma_hot
+inline
+void
+glue_times_redirect<2>::apply(Mat<typename T1::elem_type>& out, const Glue<T1,T2,glue_times>& X)
+ {
+ arma_extra_debug_sigprint();
+
+ typedef typename T1::elem_type eT;
+
+ glue_times_redirect2_helper< is_supported_blas_type<eT>::value >::apply(out, X);
+ }
+
+
+
template<typename T1, typename T2, typename T3>
arma_hot
inline
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_bones.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_bones.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
-// Copyright (C) 2008-2011 Conrad Sanderson
+// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2012 Conrad Sanderson
//
// This file is part of the Armadillo C++ library.
// It is provided without any warranty of fitness
@@ -22,7 +22,7 @@
public:
template<typename eT>
- arma_hot arma_pure inline static eT direct_dot_arma(const uword n_elem, const eT* const A, const eT* const B);
+ arma_hot arma_pure arma_inline static eT direct_dot_arma(const uword n_elem, const eT* const A, const eT* const B);
template<typename eT>
arma_hot arma_pure inline static typename arma_float_only<eT>::result
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_meat.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/op_dot_meat.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
-// Copyright (C) 2008-2011 Conrad Sanderson
+// Copyright (C) 2008-2012 NICTA (www.nicta.com.au)
+// Copyright (C) 2008-2012 Conrad Sanderson
//
// This file is part of the Armadillo C++ library.
// It is provided without any warranty of fitness
@@ -21,7 +21,7 @@
template<typename eT>
arma_hot
arma_pure
-inline
+arma_inline
eT
op_dot::direct_dot_arma(const uword n_elem, const eT* const A, const eT* const B)
{
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/op_repmat_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/op_repmat_meat.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/op_repmat_meat.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1,5 +1,5 @@
-// Copyright (C) 2009-2011 NICTA (www.nicta.com.au)
-// Copyright (C) 2009-2011 Conrad Sanderson
+// Copyright (C) 2009-2012 NICTA (www.nicta.com.au)
+// Copyright (C) 2009-2012 Conrad Sanderson
// Copyright (C) 2009-2010 Dimitrios Bouzas
//
// This file is part of the Armadillo C++ library.
@@ -35,24 +35,62 @@
const uword copies_per_row = in.aux_uword_a;
const uword copies_per_col = in.aux_uword_b;
- const uword X_n_rows = X.n_rows;
- const uword X_n_cols = X.n_cols;
-
+ const uword X_n_rows = X.n_rows;
+ const uword X_n_cols = X.n_cols;
+
out.set_size(X_n_rows * copies_per_row, X_n_cols * copies_per_col);
-
- const uword out_n_rows = out.n_rows;
- const uword out_n_cols = out.n_cols;
- if( (out_n_rows > 0) && (out_n_cols > 0) )
- {
- for(uword col = 0; col < out_n_cols; col += X_n_cols)
- {
- for(uword row = 0; row < out_n_rows; row += X_n_rows)
+ const uword out_n_rows = out.n_rows;
+ const uword out_n_cols = out.n_cols;
+
+ // if( (out_n_rows > 0) && (out_n_cols > 0) )
+ // {
+ // for(uword col = 0; col < out_n_cols; col += X_n_cols)
+ // for(uword row = 0; row < out_n_rows; row += X_n_rows)
+ // {
+ // out.submat(row, col, row+X_n_rows-1, col+X_n_cols-1) = X;
+ // }
+ // }
+
+ if( (out_n_rows > 0) && (out_n_cols > 0) )
+ {
+ if(copies_per_row != 1)
+ {
+ for(uword col_copy=0; col_copy < copies_per_col; ++col_copy)
{
- out.submat(row, col, row+X_n_rows-1, col+X_n_cols-1) = X;
+ const uword out_col_offset = X_n_cols * col_copy;
+
+ for(uword col=0; col < X_n_cols; ++col)
+ {
+ eT* out_colptr = out.colptr(col + out_col_offset);
+ const eT* X_colptr = X.colptr(col);
+
+ for(uword row_copy=0; row_copy < copies_per_row; ++row_copy)
+ {
+ const uword out_row_offset = X_n_rows * row_copy;
+
+ arrayops::copy( &out_colptr[out_row_offset], X_colptr, X_n_rows );
+ }
+ }
}
- }
+ }
+ else
+ {
+ for(uword col_copy=0; col_copy < copies_per_col; ++col_copy)
+ {
+ const uword out_col_offset = X_n_cols * col_copy;
+
+ for(uword col=0; col < X_n_cols; ++col)
+ {
+ eT* out_colptr = out.colptr(col + out_col_offset);
+ const eT* X_colptr = X.colptr(col);
+
+ arrayops::copy( out_colptr, X_colptr, X_n_rows );
+ }
+ }
+ }
}
+
}
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/strip.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/strip.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/strip.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -21,7 +21,8 @@
{
typedef T1 stored_type;
- inline strip_diagmat(const T1& X)
+ arma_hot inline
+ strip_diagmat(const T1& X)
: M(X)
{
arma_extra_debug_sigprint();
@@ -39,7 +40,8 @@
{
typedef T1 stored_type;
- inline strip_diagmat(const Op<T1, op_diagmat>& X)
+ arma_hot inline
+ strip_diagmat(const Op<T1, op_diagmat>& X)
: M(X.m)
{
arma_extra_debug_sigprint();
@@ -57,7 +59,8 @@
{
typedef T1 stored_type;
- inline strip_inv(const T1& X)
+ arma_hot inline
+ strip_inv(const T1& X)
: M(X)
{
arma_extra_debug_sigprint();
@@ -76,7 +79,8 @@
{
typedef T1 stored_type;
- inline strip_inv(const Op<T1, op_inv>& X)
+ arma_hot inline
+ strip_inv(const Op<T1, op_inv>& X)
: M(X.m)
, slow(X.aux_uword_a == 1)
{
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/subview_bones.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/subview_bones.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/subview_bones.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -89,9 +89,6 @@
inline eT& at(const uword in_row, const uword in_col);
inline eT at(const uword in_row, const uword in_col) const;
- inline eT& at_slow(const uword in_row, const uword in_col);
- inline eT at_slow(const uword in_row, const uword in_col) const;
-
arma_inline eT* colptr(const uword in_col);
arma_inline const eT* colptr(const uword in_col) const;
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/subview_meat.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/subview_meat.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/subview_meat.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -1271,30 +1271,6 @@
template<typename eT>
-inline
-eT&
-subview<eT>::at_slow(const uword in_row, const uword in_col)
- {
- const uword index = (in_col + aux_col1)*m.n_rows + aux_row1 + in_row;
-
- return access::rw( (const_cast< Mat<eT>& >(m)).mem[index] );
- }
-
-
-
-template<typename eT>
-inline
-eT
-subview<eT>::at_slow(const uword in_row, const uword in_col) const
- {
- const uword index = (in_col + aux_col1)*m.n_rows + aux_row1 + in_row;
-
- return m.mem[index];
- }
-
-
-
-template<typename eT>
arma_inline
eT*
subview<eT>::colptr(const uword in_col)
Modified: pkg/RcppArmadillo/inst/include/armadillo_bits/unwrap.hpp
===================================================================
--- pkg/RcppArmadillo/inst/include/armadillo_bits/unwrap.hpp 2012-03-30 17:53:26 UTC (rev 3562)
+++ pkg/RcppArmadillo/inst/include/armadillo_bits/unwrap.hpp 2012-04-02 19:58:30 UTC (rev 3563)
@@ -126,11 +126,10 @@
typedef typename T1::elem_type eT;
inline
- unwrap_check(const T1& A, const Mat<eT>& B)
+ unwrap_check(const T1& A, const Mat<eT>&)
: M(A)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -259,11 +258,10 @@
template<typename eT2>
inline
- unwrap_check_mixed(const T1& A, const Mat<eT2>& B)
+ unwrap_check_mixed(const T1& A, const Mat<eT2>&)
: M(A)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -902,11 +900,11 @@
typedef typename T1::elem_type eT;
- inline partial_unwrap_check(const T1& A, const Mat<eT>& B)
+ arma_hot inline
+ partial_unwrap_check(const T1& A, const Mat<eT>&)
: M(A)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
@@ -917,7 +915,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = false;
@@ -933,7 +931,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Mat<eT>& A, const Mat<eT>& B)
: M_local ( (&A == &B) ? new Mat<eT>(A) : 0 )
, M ( (&A == &B) ? (*M_local) : A )
@@ -954,7 +952,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = false;
@@ -972,7 +970,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Row<eT>& A, const Mat<eT>& B)
: M_local ( (&A == &B) ? new Mat<eT>(A) : 0 )
, M ( (&A == &B) ? (*M_local) : A )
@@ -992,10 +990,9 @@
}
}
+ arma_hot arma_inline eT get_val() const { return eT(1); }
- inline eT get_val() const { return eT(1); }
-
static const bool do_trans = false;
static const bool do_times = false;
@@ -1011,7 +1008,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Col<eT>& A, const Mat<eT>& B)
: M_local ( (&A == &B) ? new Mat<eT>(A) : 0 )
, M ( (&A == &B) ? (*M_local) : A )
@@ -1032,7 +1029,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = false;
@@ -1052,12 +1049,11 @@
typedef typename T1::elem_type eT;
- inline
- partial_unwrap_check(const Op<T1,op_htrans>& A, const Mat<eT>& B)
+ arma_hot inline
+ partial_unwrap_check(const Op<T1,op_htrans>& A, const Mat<eT>&)
: M(A.m)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -1067,7 +1063,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = true;
@@ -1083,7 +1079,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Op< Mat<eT>, op_htrans>& A, const Mat<eT>& B)
: M_local ( (&A.m == &B) ? new Mat<eT>(A.m) : 0 )
, M ( (&A.m == &B) ? (*M_local) : A.m )
@@ -1103,7 +1099,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = true;
@@ -1121,7 +1117,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Op< Row<eT>, op_htrans>& A, const Mat<eT>& B)
: M_local ( (&A.m == &B) ? new Mat<eT>(A.m) : 0 )
, M ( (&A.m == &B) ? (*M_local) : A.m )
@@ -1141,7 +1137,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = true;
@@ -1159,7 +1155,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Op< Col<eT>, op_htrans>& A, const Mat<eT>& B)
: M_local ( (&A.m == &B) ? new Mat<eT>(A.m) : 0 )
, M ( (&A.m == &B) ? (*M_local) : A.m )
@@ -1179,7 +1175,7 @@
}
- inline eT get_val() const { return eT(1); }
+ arma_hot arma_inline eT get_val() const { return eT(1); }
static const bool do_trans = true;
@@ -1199,7 +1195,7 @@
typedef typename T1::elem_type eT;
- inline
+ arma_hot inline
partial_unwrap_check(const Op<T1,op_htrans2>& A, const Mat<eT>&)
: val(A.aux)
, M (A.m)
@@ -1214,7 +1210,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = true;
@@ -1231,7 +1227,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Op< Mat<eT>, op_htrans2>& A, const Mat<eT>& B)
: val (A.aux)
, M_local ( (&A.m == &B) ? new Mat<eT>(A.m) : 0 )
@@ -1252,7 +1248,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = true;
@@ -1271,7 +1267,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Op< Row<eT>, op_htrans2>& A, const Mat<eT>& B)
: val (A.aux)
, M_local ( (&A.m == &B) ? new Mat<eT>(A.m) : 0 )
@@ -1292,7 +1288,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = true;
@@ -1311,7 +1307,7 @@
{
public:
- inline
+ arma_hot inline
partial_unwrap_check(const Op< Mat<eT>, op_htrans2>& A, const Mat<eT>& B)
: val (A.aux)
, M_local ( (&A.m == &B) ? new Mat<eT>(A.m) : 0 )
@@ -1332,7 +1328,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = true;
@@ -1353,13 +1349,12 @@
typedef typename T1::elem_type eT;
- inline
- partial_unwrap_check(const eOp<T1,eop_scalar_times>& A, const Mat<eT>& B)
+ arma_hot inline
+ partial_unwrap_check(const eOp<T1,eop_scalar_times>& A, const Mat<eT>&)
: val(A.aux)
, M (A.P.Q)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -1369,7 +1364,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = false;
@@ -1386,13 +1381,12 @@
{
public:
- inline
- partial_unwrap_check(const eOp<Mat<eT>,eop_scalar_times>& A, const Mat<eT>& B)
+ arma_hot inline
+ partial_unwrap_check(const eOp<Mat<eT>,eop_scalar_times>& A, const Mat<eT>&)
: val(A.aux)
, M (A.P.Q)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -1402,7 +1396,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = false;
@@ -1419,13 +1413,12 @@
{
public:
- inline
- partial_unwrap_check(const eOp<Row<eT>,eop_scalar_times>& A, const Mat<eT>& B)
+ arma_hot inline
+ partial_unwrap_check(const eOp<Row<eT>,eop_scalar_times>& A, const Mat<eT>&)
: val(A.aux)
, M (A.P.Q)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -1435,7 +1428,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = false;
@@ -1452,13 +1445,12 @@
{
public:
- inline
- partial_unwrap_check(const eOp<Col<eT>,eop_scalar_times>& A, const Mat<eT>& B)
+ arma_hot inline
+ partial_unwrap_check(const eOp<Col<eT>,eop_scalar_times>& A, const Mat<eT>&)
: val(A.aux)
, M (A.P.Q)
{
arma_extra_debug_sigprint();
- arma_ignore(B);
}
inline
@@ -1468,7 +1460,7 @@
}
- inline eT get_val() const { return val; }
+ arma_hot arma_inline eT get_val() const { return val; }
static const bool do_trans = false;
More information about the Rcpp-commits
mailing list