SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Rcpp Attributes
JJ Allaire / Romain François
romain@r-enthusiasts.com @romain_francois
jj.allaire@gmail.com @rstudioapp
jeudi 11 juillet 13
int add( int a, int b){
return a + b ;
}
jeudi 11 juillet 13
jeudi 11 juillet 13
#include <Rcpp.h>
// [[Rcpp::export]]
int add( int a, int b){
return a + b ;
}
jeudi 11 juillet 13
> sourceCpp( "add.cpp" )
> add( 1, 2 )
[1] 3
jeudi 11 juillet 13
Why Attributes ?
[[omp::parallel]]
void somefunction(){}
Feature of C++11
jeudi 11 juillet 13
No C++11 yet
// [[Rcpp::export]]
void somefunction(){}
We use pseudo attributes
jeudi 11 juillet 13
Dependencies
Using
code
from
another
package
jeudi 11 juillet 13
Dependencies
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
arma::mat eye(int dim, double value){
using namespace arma ;
mat x = value * eye<mat>(dim,dim);
return x ;
}
jeudi 11 juillet 13
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
// [[Rcpp::plugin(foo)]]
Custom build configuration
External libraries
...
jeudi 11 juillet 13
Plugins
#include <Rcpp.h>
// [[Rcpp::plugin(cpp11)]]
// [[Rcpp::export]]
IntegerVector example(){
IntegerVector x = {1, 2, 3} ;
return x ;
}
jeudi 11 juillet 13
Packages
compileAttributes
Tools
devtools
RStudio
jeudi 11 juillet 13
Packages
Romain François
romain@r-enthusiasts.com @romain_francois
Questions
jeudi 11 juillet 13

Más contenido relacionado

Destacado

Retex feu kone noelly
Retex feu kone noellyRetex feu kone noelly
Retex feu kone noellyericbrocardi
 
Firewall Unzner Suarez Capalbo
Firewall Unzner Suarez CapalboFirewall Unzner Suarez Capalbo
Firewall Unzner Suarez CapalboMarcela García
 
Chistesgraficos
ChistesgraficosChistesgraficos
ChistesgraficosLUIS VELEZ
 
Cursos PUDE 2009 Web 2.0 para le empresa
Cursos PUDE 2009 Web 2.0 para le empresaCursos PUDE 2009 Web 2.0 para le empresa
Cursos PUDE 2009 Web 2.0 para le empresaEduardo López
 
Castigo Y Violencia Secundaria
Castigo Y Violencia SecundariaCastigo Y Violencia Secundaria
Castigo Y Violencia Secundariaorcko
 
Letras galegas 2013
Letras galegas 2013Letras galegas 2013
Letras galegas 2013mrnieto
 
Brindo co
Brindo coBrindo co
Brindo coKarmenK
 
Nuestra propuesta (1)
Nuestra propuesta (1)Nuestra propuesta (1)
Nuestra propuesta (1)Conchi Allica
 
Libro
LibroLibro
Libroimap
 
Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...
Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...
Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...Offices de Tourisme de France
 
Programme du 01 Décembre 2011
Programme du 01 Décembre 2011Programme du 01 Décembre 2011
Programme du 01 Décembre 2011evanim
 

Destacado (20)

Retex feu kone noelly
Retex feu kone noellyRetex feu kone noelly
Retex feu kone noelly
 
Peinture sur corps
Peinture sur corpsPeinture sur corps
Peinture sur corps
 
Firewall Unzner Suarez Capalbo
Firewall Unzner Suarez CapalboFirewall Unzner Suarez Capalbo
Firewall Unzner Suarez Capalbo
 
Chistesgraficos
ChistesgraficosChistesgraficos
Chistesgraficos
 
La Ong
La OngLa Ong
La Ong
 
Cursos PUDE 2009 Web 2.0 para le empresa
Cursos PUDE 2009 Web 2.0 para le empresaCursos PUDE 2009 Web 2.0 para le empresa
Cursos PUDE 2009 Web 2.0 para le empresa
 
Psicoactivia
PsicoactiviaPsicoactivia
Psicoactivia
 
Castigo Y Violencia Secundaria
Castigo Y Violencia SecundariaCastigo Y Violencia Secundaria
Castigo Y Violencia Secundaria
 
Letras galegas 2013
Letras galegas 2013Letras galegas 2013
Letras galegas 2013
 
Je soussign e1
Je soussign e1Je soussign e1
Je soussign e1
 
Alan Alvarez B2b
Alan Alvarez B2bAlan Alvarez B2b
Alan Alvarez B2b
 
Brindo co
Brindo coBrindo co
Brindo co
 
Chiquita
ChiquitaChiquita
Chiquita
 
Nuestra propuesta (1)
Nuestra propuesta (1)Nuestra propuesta (1)
Nuestra propuesta (1)
 
Libro
LibroLibro
Libro
 
Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...
Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...
Suzanne Asselin - L’importance de la gestion de la relation client dans le ré...
 
Que Harias tu
Que Harias tuQue Harias tu
Que Harias tu
 
Programme du 01 Décembre 2011
Programme du 01 Décembre 2011Programme du 01 Décembre 2011
Programme du 01 Décembre 2011
 
Lavieenrose
Lavieenrose Lavieenrose
Lavieenrose
 
La Hispania romana
La Hispania romanaLa Hispania romana
La Hispania romana
 

Más de Romain Francois (20)

R/C++
R/C++R/C++
R/C++
 
dplyr and torrents from cpasbien
dplyr and torrents from cpasbiendplyr and torrents from cpasbien
dplyr and torrents from cpasbien
 
dplyr use case
dplyr use casedplyr use case
dplyr use case
 
dplyr
dplyrdplyr
dplyr
 
user2015 keynote talk
user2015 keynote talkuser2015 keynote talk
user2015 keynote talk
 
SevillaR meetup: dplyr and magrittr
SevillaR meetup: dplyr and magrittrSevillaR meetup: dplyr and magrittr
SevillaR meetup: dplyr and magrittr
 
dplyr
dplyrdplyr
dplyr
 
Data manipulation with dplyr
Data manipulation with dplyrData manipulation with dplyr
Data manipulation with dplyr
 
R/C++ talk at earl 2014
R/C++ talk at earl 2014R/C++ talk at earl 2014
R/C++ talk at earl 2014
 
Rcpp11 genentech
Rcpp11 genentechRcpp11 genentech
Rcpp11 genentech
 
Rcpp11 useR2014
Rcpp11 useR2014Rcpp11 useR2014
Rcpp11 useR2014
 
Rcpp11
Rcpp11Rcpp11
Rcpp11
 
R and C++
R and C++R and C++
R and C++
 
R and cpp
R and cppR and cpp
R and cpp
 
Rcpp is-ready
Rcpp is-readyRcpp is-ready
Rcpp is-ready
 
Rcpp
RcppRcpp
Rcpp
 
Integrating R with C++: Rcpp, RInside and RProtoBuf
Integrating R with C++: Rcpp, RInside and RProtoBufIntegrating R with C++: Rcpp, RInside and RProtoBuf
Integrating R with C++: Rcpp, RInside and RProtoBuf
 
Object Oriented Design(s) in R
Object Oriented Design(s) in RObject Oriented Design(s) in R
Object Oriented Design(s) in R
 
Rcpp: Seemless R and C++
Rcpp: Seemless R and C++Rcpp: Seemless R and C++
Rcpp: Seemless R and C++
 
RProtoBuf: protocol buffers for R
RProtoBuf: protocol buffers for RRProtoBuf: protocol buffers for R
RProtoBuf: protocol buffers for R
 

Rcpp attributes