Séminaire de Probabilités et Statistique
lundi 30 mai 2011 à 15:00 - UM2 - Bât 09 - Salle 331 (3ème étage)
Romain François ()
Integrating R with C++: Rcpp,...
The Rcpp package provides a C++ library which facilitates the integration of R and C++. R data types (SEXP) are matched to C++ objects in a class hierarchy. All R types are supported (vectors, functions, environment, etc ...) and each type is mapped to a dedicated class. For example, numeric vectors are represented as instances of the Rcpp::NumericVector class, environments are represented as instances of Rcpp::Environment, functions are represented as Rcpp::Function, etc.
Rcpp also provides Rcpp modules, a framework that allows exposing C++ functions and classes to the R level. "Sugar" takes advantage of lazy evaluation and expression templates to achieve great performance while exposing a syntax that is much nicer to use than the equivalent low-level loop code.