Rcpp 0.8.1

June 8, 2010

(This article was first published on dirk.eddelbuettel, and kindly contributed to R-bloggers)

Early this morning I sent
Rcpp version 0.8.1
off to CRAN and
Debian. In the meantime, Romain has already provided
a very nice blog post about

There are a few fairly visible new things in this release. As we want to
focus the next few minor releases on completing the documentation, we started
by adding a total of four (!!) new vignettes:

  • Rcpp-package showing how to write your own package using Rcpp,
  • Rcpp-FAQ addressing several frequently asked questions,
  • Rcpp-modules discussing how to expose C++ functions and modules with ease using an idea borrowed from Boost::Python, and
  • Rcpp-extending detailing the steps needed to extend Rcpp with user-provided or third-party classes,

The most interesting new feature is what we call Rcpp modules and is
modeled after Boost::Python. This makes it pretty easy to expose C++
functions and classes to R — without having to write glue code. This is
pretty new and may change a tad over the coming releases, but it is also
quite exciting.

Other changes concern more improvements for use of inline which should now
allow packages like our
to be used with it, and some bug fixes. The full NEWS entry for this release follows below:

0.8.1 2010-06-08 o This release adds Rcpp modules. An Rcpp module is a collection of internal (C++) functions and classes that are exposed to R. This functionality has been inspired by Boost.Python. Modules are created internally using the RCPP_MODULE macro and retrieved in the R side with the Module function. This is a preview release of the module functionality, which will keep improving until the Rcpp 0.9.0 release. The new vignette "Rcpp-modules" documents the current feature set of Rcpp modules. o The new vignette "Rcpp-package" details the steps involved in making a package that uses Rcpp. o The new vignette "Rcpp-FAQ" collects a number of frequently asked questions and answers about Rcpp. o The new vignette "Rcpp-extending" documents how to extend Rcpp with user defined types or types from third party libraries. Based on our experience with RcppArmadillo o Rcpp.package.skeleton has been improved to generate a package using an Rcpp module, controlled by the "module" argument o Evaluating a call inside an environment did not work properly o cppfunction has been withdrawn since the introduction of the more flexible cxxfunction in the inline package (0.3.5). Rcpp no longer depends on inline since many uses of Rcpp do not require inline at all. We still use inline for unit tests but this is now handled locally in the unit tests loader runTests.R. Users of the now-withdrawn function cppfunction can redefine it as: cppfunction <- function(...) cxxfunction( ..., plugin = "Rcpp" ) o Support for std::complex was incomplete and has been enhanced. o The methods XPtr ::getTag and XPtr ::getProtected are deprecated, and will be removed in Rcpp 0.8.2. The methods tag() and prot() should be used instead. tag() and prot() support both LHS and RHS use. o END_RCPP now returns the R Nil values; new macro VOID_END_RCPP replicates prior behabiour 

As always, even fuller details are in Rcpp Changelog page and the Rcpp page which also
leads to the downloads, the browseable
doxygen docs
and zip files of doxygen output for the standard formats.
A local directory has
source and documentation too. Questions, comments etc should go to the
rcpp-devel mailing list
off the R-Forge page

To leave a comment for the author, please follow the link and comment on their blog: dirk.eddelbuettel.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.


Mango solutions

RStudio homepage

Zero Inflated Models and Generalized Linear Mixed Models with R

Dommino data lab

Quantide: statistical consulting and training




CRC R books series

Six Sigma Online Training

Contact us if you wish to help support R-bloggers, and place your banner here.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)