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
_______________________________________________
Rcpp-devel mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel