[Rcpp-devel] how to reference a row of a matrix in C++ in Rcpp

akshay kulkarni akshay_e4 at hotmail.com
Tue Mar 20 12:10:51 CET 2018


dear members,

                             I came to know from stackoverflow that the following references a row in a matrix in C++:

M[2] references 2nd row of the Matrix.


I am using Rcpp to write C++ code in R.


However, I ended up with the following inconsistency:

> M
     x y z
[1,] 1 1 1
[2,] 2 2 2
[3,] 3 3 3
[4,] 4 4 4
[5,] 5 5 5
[6,] 6 6 6
> cppFunction('IntegerVector tccp3(IntegerMatrix M) { IntegerVector x = M[2]; return x;}')
> tccp3(M)
[1] 0 0 0
> cppFunction('IntegerVector tccp4(IntegerMatrix M) { IntegerVector x = M[1]; return x;}')
> tccp4(M)
[1] 0 0

tccp3 should return (3,3,3) and tccp4 should return  (2,2,2). Can you please shed light on what is going on?

very many thanks for your time and effort....

Yours sincerely,
AKSHAY M KULKARNI
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20180320/6ac400e9/attachment.html>


More information about the Rcpp-devel mailing list