[Rd] Manipulating single-precision (float) arrays in .Call functions

Alireza Mahani alireza.s.mahani at gmail.com
Mon Jul 18 17:52:10 CEST 2011

I am writing a wrapper function in C++ that calls a GPU kernel. My array type
for the GPU kernel is float, so I would like my wrapper function to receive
float arrays from R. I understand that I can use 'as.single' in R to copy a
double-precision vector from R in single-precision format while using the
'.C' interface, but is there any way to do something similar for '.Call'?
Given that the latter passes pointers from R to C/C++, I'm guessing this may
be impossible, but I wanted to double-check. If you can suggest a solution,
a small code sample would be much appreciated.

The reason I prefer '.Call' to '.C' is because the former passes pointers
and therefore creates less data transfer overhead as opposed to the latter
which copies data. Is this argument controversial?


View this message in context: http://r.789695.n4.nabble.com/Manipulating-single-precision-float-arrays-in-Call-functions-tp3675684p3675684.html
Sent from the R devel mailing list archive at Nabble.com.

More information about the R-devel mailing list