334a1dce4f
The Rcpp package provides R functions as well as a C++ library which facilitate 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 ... The "Rcpp-introduction" vignette provides a good entry point to Rcpp. Rcpp also provides Rcpp modules, a framework that allows exposing C++ functions and classes to the R level. The "Rcpp-modules" vignette details the current set of features of Rcpp-modules. Rcpp includes a concept called Rcpp sugar that brings many R functions into C++. 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. The "Rcpp-sugar" vignette gives an overview of the feature. Note: this commit is part of reorganizing some of the recently imported R packages, which are being reimported into more appropriate categories (and removed from math) as a result of a recent discussion on tech-pkg and privately with wiz@. See the thread starting with: http://mail-index.netbsd.org/tech-pkg/2014/09/05/msg013558.html
24 lines
1.2 KiB
Text
24 lines
1.2 KiB
Text
The Rcpp package provides R functions as well as a C++ library which
|
|
facilitate 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 ... The
|
|
"Rcpp-introduction" vignette provides a good entry point to Rcpp.
|
|
|
|
Rcpp also provides Rcpp modules, a framework that allows exposing C++
|
|
functions and classes to the R level. The "Rcpp-modules" vignette
|
|
details the current set of features of Rcpp-modules.
|
|
|
|
Rcpp includes a concept called Rcpp sugar that brings many R functions
|
|
into C++. 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. The
|
|
"Rcpp-sugar" vignette gives an overview of the feature.
|
|
|
|
Additional documentation is available via the paper by Eddelbuettel
|
|
and Francois (2011, JSS) paper and the book by Eddelbuettel (2013,
|
|
Springer); see 'citation("Rcpp")' for details.
|