rcpp attributes

Download Rcpp attributes

Post on 10-May-2015

608 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • 1.Rcpp Attributes JJ Allaire / Romain Franois romain@r-enthusiasts.com @romain_francois jj.allaire@gmail.com @rstudioapp jeudi 11 juillet 13

2. int add( int a, int b){ return a + b ; } jeudi 11 juillet 13 3. jeudi 11 juillet 13 4. #include // [[Rcpp::export]] int add( int a, int b){ return a + b ; } jeudi 11 juillet 13 5. > sourceCpp( "add.cpp" ) > add( 1, 2 ) [1] 3 jeudi 11 juillet 13 6. Why Attributes ? [[omp::parallel]] void somefunction(){} Feature of C++11 jeudi 11 juillet 13 7. No C++11 yet // [[Rcpp::export]] void somefunction(){} We use pseudo attributes jeudi 11 juillet 13 8. Dependencies Using code from another package jeudi 11 juillet 13 9. Dependencies #include // [[Rcpp::depends(RcppArmadillo)]] // [[Rcpp::export]] arma::mat eye(int dim, double value){ using namespace arma ; mat x = value * eye(dim,dim); return x ; } jeudi 11 juillet 13 10. Dependencies > sourceCpp( "eye.cpp" ) > eye( 4, 12 ) [,1] [,2] [,3] [,4] [1,] 12 0 0 0 [2,] 0 12 0 0 [3,] 0 0 12 0 [4,] 0 0 0 12 jeudi 11 juillet 13 11. // [[Rcpp::plugin(foo)]] Custom build conguration External libraries ... jeudi 11 juillet 13 12. Plugins #include // [[Rcpp::plugin(cpp11)]] // [[Rcpp::export]] IntegerVector example(){ IntegerVector x = {1, 2, 3} ; return x ; } jeudi 11 juillet 13 13. Packages compileAttributes Tools devtools RStudio jeudi 11 juillet 13 14. Packages Romain Franois romain@r-enthusiasts.com @romain_francois Questions jeudi 11 juillet 13

Recommended

View more >