[Rcpp-devel] type mismatch between NumericMatrix and IntegerMatrix
Kaspar Märtens
kaspar.martens at gmail.com
Sun Aug 7 13:00:27 CEST 2016
Hi,
When experimenting with the following toy function,
// [[Rcpp::export]]
void modify_matrix(NumericMatrix A){
A(0, 0) = 5;
}
and applying this on matrices defined in R, I occasionally noticed
unexpected behaviour (as it turns out, on integer matrices).
### Example 1 (works as expected)
A = matrix(0, 2, 2)
modify_matrix(A)
A
## [,1] [,2]
## [1,] 5 0
## [2,] 0 0
### Example 2 (does not modify the matrix)
A = matrix(1:4, 2, 2)
modify_matrix(A)
A
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
I realised that in the latter case, A consists of integers, so I guess I
should be using an IntegerMatrix version of my function instead. However,
shouldn't Rcpp detect the type mismatch between NumericMatrix and
IntegerMatrix?
Best,
Kaspar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20160807/5d3ce18c/attachment.html>
More information about the Rcpp-devel
mailing list