[R-pkg-devel] Problem (with complex.h?) under Microsoft Windows
Dirk Eddelbuettel
edd at debian.org
Sat Nov 14 05:02:01 CET 2015
On 13 November 2015 at 20:24, Roebuck,Paul L wrote:
| Too bad you couldn't just use C++ std::complex, but that's a no-go if your function needs C linkage.
|
| <http://stackoverflow.com/questions/1063406/c99-complex-support-with-visual-studio>
| suggests MS-specific topic, but answers explain more.
|
| Have you looked at RCpp package?
Rcpp can help quite a bit with all of the mechanics: header files, linking,
loading, conversion, ... We don't use it all that much for complex data
types but some things certainly work, and Baptiste has a few packages (using
RcppArmadillo) which use complex numbers.
Here is a quick example:
R> library(Rcpp) # load Rcpp, them define a one-liner in the R shell
R> cppFunction("ComplexVector timesTwo(ComplexVector x) { ComplexVector y = x+x; return y; }")
R> timesTwo(7i) # use it
[1] 0+14i
R> timesTwo(c(4+2i, 7i)) # vectors or scalars are the same to R
[1] 8+ 4i 0+14i
R>
This should very much work the same way in Windows. And note that we didn't
have to specify a single header (though you can of course should you need
extra ones -- see many examples at http://gallery.rcpp.org)
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the R-package-devel
mailing list